diff --git a/.github/issue_template.md b/.github/issue_template.md
index 5cc27f8847..9950b29ada 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -4,7 +4,15 @@
### Jx version
-### Kubernetes cluster provider / Version
+The output of `jx version` is:
+
+```
+COPY OUTPUT HERE
+```
+
+### Kubernetes cluster
+
+What kind of Kubernetes cluster are you using & how did you create it?
### Operating system / Environment
diff --git a/Gopkg.lock b/Gopkg.lock
index 62104dd8b4..2a4f934439 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -2,18 +2,23 @@
[[projects]]
+ digest = "1:5c3894b2aa4d6bead0ceeea6831b305d62879c871780e7b76296ded1b004bc57"
name = "cloud.google.com/go"
packages = ["compute/metadata"]
+ pruneopts = "NUT"
revision = "777200caa7fb8936aed0f12b1fd79af64cc83ec9"
version = "v0.24.0"
[[projects]]
branch = "master"
+ digest = "1:b8077437db55fd0a13fa94b3e6f70dac1d6a21d82772be31a0d98e91457bdc36"
name = "code.gitea.io/sdk"
packages = ["gitea"]
+ pruneopts = "NUT"
revision = "79a281c4e34ae44cf96a23f0283729a074a6c2a0"
[[projects]]
+ digest = "1:08c4cb88a54781515499c708ba6a32ba774c479d8928decb0060a8572e2d6fbe"
name = "github.com/Azure/draft"
packages = [
"pkg/draft/draftpath",
@@ -22,65 +27,83 @@
"pkg/linguist/data",
"pkg/linguist/tokenizer",
"pkg/osutil",
- "pkg/version"
+ "pkg/version",
]
+ pruneopts = "NUT"
revision = "9d73889a1318a435d126bc5df846610d30cfbe7f"
version = "v0.15.0"
[[projects]]
+ digest = "1:8a2b4c3a4f1fb471ee3951cc9af189715abe4a00c79f503657d669ccb1d0320e"
name = "github.com/Azure/go-autorest"
packages = [
"autorest",
"autorest/adal",
"autorest/azure",
- "autorest/date"
+ "autorest/date",
]
+ pruneopts = "NUT"
revision = "1f7cd6cfe0adea687ad44a512dfe76140f804318"
version = "v10.12.0"
[[projects]]
+ digest = "1:e0499b93857a1b91efbdc0c21e26f1130685de98035008f3b01eeeb0713798cb"
name = "github.com/BurntSushi/toml"
packages = ["."]
+ pruneopts = "NUT"
revision = "b26d9c308763d68093482582cea63d69be07a0f0"
version = "v0.3.0"
[[projects]]
+ digest = "1:638c457cbc4894895add73f34bf5b7d3ba9a614e999826b3fad0aa9715d988b9"
name = "github.com/Jeffail/gabs"
packages = ["."]
+ pruneopts = "NUT"
revision = "7a0fed31069aba77993a518cc2f37b28ee7aa883"
version = "1.1"
[[projects]]
branch = "master"
+ digest = "1:5c3da1e5d06de403fff791e185009015230b30111aabd56125cae296b7e581cf"
name = "github.com/MakeNowJust/heredoc"
packages = ["."]
+ pruneopts = "NUT"
revision = "e9091a26100e9cfb2b6a8f470085bfa541931a91"
[[projects]]
+ digest = "1:a26f8da48b22e6176c1c6a2459904bb30bd0c49ada04b2963c2c3a203e81a620"
name = "github.com/Masterminds/semver"
packages = ["."]
+ pruneopts = "NUT"
revision = "c7af12943936e8c39859482e61f0574c2fd7fc75"
version = "v1.4.2"
[[projects]]
branch = "master"
+ digest = "1:2b8081e47e5a4673ad1217bf551f5e007a0059231c6bc32dfc5a77bb970a23da"
name = "github.com/Pallinder/go-randomdata"
packages = ["."]
+ pruneopts = "NUT"
revision = "15df0648130a623e418886f81b2aaecd0a00547b"
[[projects]]
+ digest = "1:843e2c7759bf0105806f70e262e7573fbda644e76222cb7eb148e3ac82a4ec5e"
name = "github.com/andygrunwald/go-gerrit"
packages = ["."]
+ pruneopts = "NUT"
revision = "95b11af228a177a6c9961202fa40ff284ba86849"
version = "0.5.2"
[[projects]]
+ digest = "1:1cf94ad68844b0df24ef9d962c8d6caa679a7d2833454762fe562a92450a48d3"
name = "github.com/andygrunwald/go-jira"
packages = ["."]
+ pruneopts = "NUT"
revision = "0298784c4606cdf01e99644da115863c052a737c"
version = "v1.5.0"
[[projects]]
+ digest = "1:392b3c4fc972e1c4df26b337400ae3df107b0e37fe7a72349518138cd470bbe3"
name = "github.com/aws/aws-sdk-go"
packages = [
"aws",
@@ -104,38 +127,52 @@
"internal/sdkrand",
"internal/shareddefaults",
"private/protocol",
+ "private/protocol/ec2query",
+ "private/protocol/eventstream",
+ "private/protocol/eventstream/eventstreamapi",
"private/protocol/json/jsonutil",
"private/protocol/jsonrpc",
"private/protocol/query",
"private/protocol/query/queryutil",
"private/protocol/rest",
+ "private/protocol/restxml",
"private/protocol/xml/xmlutil",
+ "service/ec2",
"service/ecr",
- "service/sts"
+ "service/s3",
+ "service/sts",
]
+ pruneopts = "NUT"
revision = "e4f914808a9655ef3220bb0082002239cc7f3561"
version = "v1.14.19"
[[projects]]
+ digest = "1:f4298c81d8a94ab68d9e387eaf6e653387df5da17702f06c6d8718a7a8e549d0"
name = "github.com/beevik/etree"
packages = ["."]
+ pruneopts = "NUT"
revision = "9d7e8feddccb4ed1b8afb54e368bd323d2ff652c"
version = "v1.0.1"
[[projects]]
branch = "master"
+ digest = "1:8e1fd672f2ef6b5d6da27ebda8d313a3f37bc8081dd780173576d5d85338ff08"
name = "github.com/blang/semver"
packages = ["."]
+ pruneopts = "NUT"
revision = "c5e971dbed7850a93c23aa6ff69db5771d8e23b3"
[[projects]]
branch = "master"
+ digest = "1:2755397479777565ae0c383f63be30e8975da63805281283bdde46d73bed9a7d"
name = "github.com/c2h5oh/datasize"
packages = ["."]
+ pruneopts = "NUT"
revision = "4eba002a5eaea69cf8d235a388fc6b65ae68d2dd"
[[projects]]
branch = "master"
+ digest = "1:5b714690cd4fc0c54a684c8a41c74d95e56b93acc35a48d0e44fc2dd5ca88a2b"
name = "github.com/chromedp/cdproto"
packages = [
".",
@@ -176,55 +213,69 @@
"systeminfo",
"target",
"tethering",
- "tracing"
+ "tracing",
]
+ pruneopts = "NUT"
revision = "9000e1dc6313aff2a17c4c99f87f82fd3c12d8bc"
[[projects]]
branch = "master"
+ digest = "1:fed30eb03ddfecaa7a652241c28b9e07003c96692b6b545b71804889aacbaf77"
name = "github.com/chromedp/chromedp"
packages = [
".",
"client",
"kb",
- "runner"
+ "runner",
]
+ pruneopts = "NUT"
revision = "db9a8731419af3b4aefc0216969a9e0f5d2525db"
[[projects]]
+ digest = "1:7cb4fdca4c251b3ef8027c90ea35f70c7b661a593b9eeae34753c65499098bb1"
name = "github.com/cpuguy83/go-md2man"
packages = ["md2man"]
+ pruneopts = "NUT"
revision = "20f5889cbdc3c73dbd2862796665e7c465ade7d1"
version = "v1.0.8"
[[projects]]
+ digest = "1:a2c1d0e43bd3baaa071d1b9ed72c27d78169b2b269f71c105ac4ba34b1be4a39"
name = "github.com/davecgh/go-spew"
packages = ["spew"]
+ pruneopts = "NUT"
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
[[projects]]
+ digest = "1:7a6852b35eb5bbc184561443762d225116ae630c26a7c4d90546619f1e7d2ad2"
name = "github.com/dgrijalva/jwt-go"
packages = ["."]
+ pruneopts = "NUT"
revision = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"
version = "v3.2.0"
[[projects]]
+ digest = "1:474af74658db619c7c5b1c67c61c3a6bbcc8f97ee5fdf48730be4518783e2c2c"
name = "github.com/disintegration/imaging"
packages = ["."]
+ pruneopts = "NUT"
revision = "bbcee2f5c9d5e94ca42c8b50ec847fec64a6c134"
version = "v1.4.2"
[[projects]]
branch = "master"
+ digest = "1:ff6b9b62a30f2237a6f4f8fbe5e89ec522db652998b00f9ded76bd63c1f284fb"
name = "github.com/docker/spdystream"
packages = [
".",
- "spdy"
+ "spdy",
]
+ pruneopts = "NUT"
revision = "bc6354cbbc295e925e4c611ffe90c1f287ee54db"
[[projects]]
+ digest = "1:0417f48517eafe384b94fd38238b699c3714b5f12554e8a212446d58b024d2a2"
name = "github.com/emirpasic/gods"
packages = [
"containers",
@@ -232,48 +283,62 @@
"lists/arraylist",
"trees",
"trees/binaryheap",
- "utils"
+ "utils",
]
+ pruneopts = "NUT"
revision = "f6c17b524822278a87e3b3bd809fec33b51f5b46"
version = "v1.9.0"
[[projects]]
+ digest = "1:ade392a843b2035effb4b4a2efa2c3bab3eb29b992e98bacf9c898b0ecb54e45"
name = "github.com/fatih/color"
packages = ["."]
+ pruneopts = "NUT"
revision = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"
version = "v1.7.0"
[[projects]]
+ digest = "1:52ec55889de2c93a772ceba253313c12f65444aac61a11182d4d119ef97479e8"
name = "github.com/fatih/structs"
packages = ["."]
+ pruneopts = "NUT"
revision = "a720dfa8df582c51dee1b36feabb906bde1588bd"
version = "v1.0"
[[projects]]
+ digest = "1:1b91ae0dc69a41d4c2ed23ea5cffb721ea63f5037ca4b81e6d6771fbb8f45129"
name = "github.com/fsnotify/fsnotify"
packages = ["."]
+ pruneopts = "NUT"
revision = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"
version = "v1.4.7"
[[projects]]
branch = "master"
+ digest = "1:144657ab1f77693259f835fcb7fda7c94bee0c5c01d216a417bce9f930ecf225"
name = "github.com/gfleury/go-bitbucket-v1"
packages = ["."]
+ pruneopts = "NUT"
revision = "66450bf1565578f9c872f4c009848d6c8d6b6228"
[[projects]]
+ digest = "1:81466b4218bf6adddac2572a30ac733a9255919bc2f470b4827a317bd4ee1756"
name = "github.com/ghodss/yaml"
packages = ["."]
+ pruneopts = "NUT"
revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7"
version = "v1.0.0"
[[projects]]
+ digest = "1:30b09d75e7e16119e85020374df10ea06f263c9bdff72afdc1522838b9609375"
name = "github.com/go-ini/ini"
packages = ["."]
+ pruneopts = "NUT"
revision = "06f5f3d67269ccec1fe5fe4134ba6e982984f7f5"
version = "v1.37.0"
[[projects]]
+ digest = "1:c34b254950cbbcfc71edaec88d329f1cf56902ec47de568417549a418879674c"
name = "github.com/gobwas/glob"
packages = [
".",
@@ -283,74 +348,92 @@
"syntax/ast",
"syntax/lexer",
"util/runes",
- "util/strings"
+ "util/strings",
]
+ pruneopts = "NUT"
revision = "5ccd90ef52e1e632236f7326478d4faa74f99438"
version = "v0.2.3"
[[projects]]
+ digest = "1:556f22e028349b0c471e93810944e497418feccc75e6cf763cbadbc636ce0882"
name = "github.com/gogo/protobuf"
packages = [
"proto",
- "sortkeys"
+ "sortkeys",
]
+ pruneopts = "NUT"
revision = "1adfc126b41513cc696b209667c8656ea7aac67c"
version = "v1.0.0"
[[projects]]
branch = "master"
+ digest = "1:e2b86e41f3d669fc36b50d31d32d22c8ac656c75aa5ea89717ce7177e134ff2a"
name = "github.com/golang/glog"
packages = ["."]
+ pruneopts = "NUT"
revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
[[projects]]
+ digest = "1:713cc7628304d027a7e9edcb52da888a8912d6405250a8d9c8eff6f41dd54398"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
- "ptypes/timestamp"
+ "ptypes/timestamp",
]
+ pruneopts = "NUT"
revision = "b4deda0973fb4c70b50d226b1af49f3da59f5265"
version = "v1.1.0"
[[projects]]
branch = "master"
+ digest = "1:245bd4eb633039cd66106a5d340ae826d87f4e36a8602fcc940e14176fd26ea7"
name = "github.com/google/btree"
packages = ["."]
+ pruneopts = "NUT"
revision = "e89373fe6b4a7413d7acd6da1725b83ef713e6e4"
[[projects]]
branch = "master"
+ digest = "1:41dff13937188e399d09cdf93aa9e0bc406b5c79b59fde49c3c55053a21a3c8b"
name = "github.com/google/go-github"
packages = ["github"]
+ pruneopts = "NUT"
revision = "e96c8d145b73ef0bc15d2d3f0327ce6d88a17c5a"
[[projects]]
branch = "master"
+ digest = "1:a63cff6b5d8b95638bfe300385d93b2a6d9d687734b863da8e09dc834510a690"
name = "github.com/google/go-querystring"
packages = ["query"]
+ pruneopts = "NUT"
revision = "53e6ce116135b80d037921a7fdd5138cf32d7a8a"
[[projects]]
branch = "master"
+ digest = "1:52c5834e2bebac9030c97cc0798ac11c3aa8a39f098aeb419f142533da6cd3cc"
name = "github.com/google/gofuzz"
packages = ["."]
+ pruneopts = "NUT"
revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1"
[[projects]]
+ digest = "1:add738701bd5b2b985c0c37011092c57218bdc46caf1e682a73dc210ad36b03f"
name = "github.com/googleapis/gnostic"
packages = [
"OpenAPIv2",
"compiler",
- "extensions"
+ "extensions",
]
+ pruneopts = "NUT"
revision = "7c663266750e7d82587642f65e60bc4083f1f84e"
version = "v0.2.0"
[[projects]]
branch = "master"
+ digest = "1:c64cf8a57cd0dc6919d300faf735a61d883fa2fd1a2558d9daea5e238a4cbab4"
name = "github.com/gophercloud/gophercloud"
packages = [
".",
@@ -359,54 +442,68 @@
"openstack/identity/v2/tokens",
"openstack/identity/v3/tokens",
"openstack/utils",
- "pagination"
+ "pagination",
]
+ pruneopts = "NUT"
revision = "8cf44bf1749da68b76be9eb59a37b45641b8fd63"
[[projects]]
+ digest = "1:c01767916c59f084bb7c41a7d5877c0f3099b1595cfa066e84ec6ad6b084dd89"
name = "github.com/gorilla/context"
packages = ["."]
+ pruneopts = "NUT"
revision = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42"
version = "v1.1.1"
[[projects]]
+ digest = "1:bf5cf1d53d703332e9bd8984c69784645b73a938317bf5ace9aadf20ac49379a"
name = "github.com/gorilla/mux"
packages = ["."]
+ pruneopts = "NUT"
revision = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf"
version = "v1.6.2"
[[projects]]
+ digest = "1:3b708ebf63bfa9ba3313bedb8526bc0bb284e51474e65e958481476a9d4a12aa"
name = "github.com/gorilla/websocket"
packages = ["."]
+ pruneopts = "NUT"
revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"
version = "v1.2.0"
[[projects]]
branch = "master"
+ digest = "1:a1db0214936912602a7a8cedc09a2e3211f5c097dc89189fb4b3bc86346c9e89"
name = "github.com/gregjones/httpcache"
packages = [
".",
- "diskcache"
+ "diskcache",
]
+ pruneopts = "NUT"
revision = "9cad4c3443a7200dd6400aef47183728de563a38"
[[projects]]
branch = "master"
+ digest = "1:8925116d1edcd85fc0c014e1aa69ce12892489b48ee633a605c46d893b8c151f"
name = "github.com/hashicorp/go-version"
packages = ["."]
+ pruneopts = "NUT"
revision = "23480c0665776210b5fbbac6eaaee40e3e6a96b7"
[[projects]]
branch = "master"
+ digest = "1:13e2fa5735a82a5fb044f290cfd0dba633d1c5e516b27da0509e0dbb3515a18e"
name = "github.com/hashicorp/golang-lru"
packages = [
".",
- "simplelru"
+ "simplelru",
]
+ pruneopts = "NUT"
revision = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3"
[[projects]]
branch = "master"
+ digest = "1:02e4365951e1bc55bd6505938ea88e12b5a9d5dfedcb1ae35d5a3833e502833e"
name = "github.com/hashicorp/hcl"
packages = [
".",
@@ -418,12 +515,14 @@
"hcl/token",
"json/parser",
"json/scanner",
- "json/token"
+ "json/token",
]
+ pruneopts = "NUT"
revision = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"
[[projects]]
branch = "master"
+ digest = "1:91423144933b130cf1a525d9e868b6de96db0745679a3178555a0ead16a1811b"
name = "github.com/heptio/sonobuoy"
packages = [
"pkg/backplane/ca",
@@ -444,147 +543,193 @@
"pkg/plugin/loader",
"pkg/plugin/manifest",
"pkg/tarball",
- "pkg/templates"
+ "pkg/templates",
]
+ pruneopts = "NUT"
revision = "44ad2a73f77d04124de57df5d6c0044f12a31ccf"
[[projects]]
+ digest = "1:65300ccc4bcb38b107b868155c303312978981e56bca707c81efec57575b5e06"
name = "github.com/imdario/mergo"
packages = ["."]
+ pruneopts = "NUT"
revision = "9316a62528ac99aaecb4e47eadd6dc8aa6533d58"
version = "v0.3.5"
[[projects]]
+ digest = "1:406338ad39ab2e37b7f4452906442a3dbf0eb3379dd1f06aafb5c07e769a5fbb"
name = "github.com/inconshreveable/mousetrap"
packages = ["."]
+ pruneopts = "NUT"
revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
version = "v1.0"
[[projects]]
branch = "master"
+ digest = "1:62fe3a7ea2050ecbd753a71889026f83d73329337ada66325cbafd5dea5f713d"
name = "github.com/jbenet/go-context"
packages = ["io"]
+ pruneopts = "NUT"
revision = "d14ea06fba99483203c19d92cfcd13ebe73135f4"
[[projects]]
branch = "master"
+ digest = "1:e5c7b633818f5fecd2497cc236ef026f67eded1e351a2b3585286f6212cb493a"
name = "github.com/jbrukh/bayesian"
packages = ["."]
+ pruneopts = "NUT"
revision = "bf3f261f9a9c61145c60d47665b0518cc32c774f"
[[projects]]
branch = "master"
+ digest = "1:0958ee220299f675940313365940c686e56018d6ff98513d57fb42304c13b130"
name = "github.com/jenkins-x/chyle"
packages = ["chyle/git"]
+ pruneopts = "NUT"
revision = "68f7a93a63ec3c6485c01103b85f608d0dd2ca97"
[[projects]]
branch = "copy-pack-contents"
+ digest = "1:8b645d2e0e4c0ab87d086d4cce341255a33def95d7397a9e0230676db37bc18f"
name = "github.com/jenkins-x/draft-repo"
packages = ["pkg/draft/pack"]
+ pruneopts = "NUT"
revision = "2f66cc518135de45b732980fa90af2cd056bd975"
[[projects]]
branch = "master"
+ digest = "1:980924b032bb9160d625b9987530f0cefa2dacb8cc17fa697182f7b5edd7e6a6"
name = "github.com/jenkins-x/golang-jenkins"
packages = ["."]
+ pruneopts = "NUT"
revision = "0bc3c6465b1cbac88473244061521e75c5394d1e"
[[projects]]
+ digest = "1:ac6d01547ec4f7f673311b4663909269bfb8249952de3279799289467837c3cc"
name = "github.com/jmespath/go-jmespath"
packages = ["."]
+ pruneopts = "NUT"
revision = "0b12d6b5"
[[projects]]
+ digest = "1:0243cffa4a3410f161ee613dfdd903a636d07e838a42d341da95d81f42cd1d41"
name = "github.com/json-iterator/go"
packages = ["."]
+ pruneopts = "NUT"
revision = "ab8a2e0c74be9d3be70b3184d9acc634935ded82"
version = "1.1.4"
[[projects]]
+ digest = "1:8021af4dcbd531ae89433c8c3a6520e51064114aaf8eb1724c3cf911c497c9ba"
name = "github.com/kevinburke/ssh_config"
packages = ["."]
+ pruneopts = "NUT"
revision = "9fc7bb800b555d63157c65a904c86a2cc7b4e795"
version = "0.4"
[[projects]]
branch = "master"
+ digest = "1:5e5cd60c25b84e890f22a729011347a5d79de4c61792a010cf3d6709c9812576"
name = "github.com/knq/snaker"
packages = ["."]
+ pruneopts = "NUT"
revision = "d9ad1e7f342a5b58202aa92c5f1106d7bb8b9c73"
[[projects]]
branch = "master"
+ digest = "1:598a3dbd5757a629350876f5b0a41ba7a81f229929cb772fac720ac3c43f0067"
name = "github.com/knq/sysutil"
packages = ["."]
+ pruneopts = "NUT"
revision = "0218e141a794643e8c0fa283b9cd076fc0df662d"
[[projects]]
+ digest = "1:d244f8666a838fe6ad70ec8fe77f50ebc29fdc3331a2729ba5886bef8435d10d"
name = "github.com/magiconair/properties"
packages = ["."]
+ pruneopts = "NUT"
revision = "c2353362d570a7bfa228149c62842019201cfb71"
version = "v1.8.0"
[[projects]]
branch = "master"
+ digest = "1:31f5a6f269d478f3deb8f6b64aa407a34d72f9f27ee1e05d18d4863a32d596f4"
name = "github.com/mailru/easyjson"
packages = [
".",
"buffer",
"jlexer",
- "jwriter"
+ "jwriter",
]
+ pruneopts = "NUT"
revision = "3fdea8d05856a0c8df22ed4bc71b3219245e4485"
[[projects]]
+ digest = "1:08c231ec84231a7e23d67e4b58f975e1423695a32467a362ee55a803f9de8061"
name = "github.com/mattn/go-colorable"
packages = ["."]
+ pruneopts = "NUT"
revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"
version = "v0.0.9"
[[projects]]
+ digest = "1:bc4f7eec3b7be8c6cb1f0af6c1e3333d5bb71072951aaaae2f05067b0803f287"
name = "github.com/mattn/go-isatty"
packages = ["."]
+ pruneopts = "NUT"
revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"
version = "v0.0.3"
[[projects]]
branch = "master"
+ digest = "1:063d55b87e200bced5e2be658cc70acafb4c5bbc4afa04d4b82f66298b73d089"
name = "github.com/mgutz/ansi"
packages = ["."]
+ pruneopts = "NUT"
revision = "9520e82c474b0a04dd04f8a40959027271bab992"
[[projects]]
branch = "master"
+ digest = "1:9db29b604bd78452d167abed82386ddd2f93973df3841896fb6ab8aff936f1d6"
name = "github.com/mitchellh/go-homedir"
packages = ["."]
+ pruneopts = "NUT"
revision = "3864e76763d94a6df2f9960b16a20a33da9f9a66"
[[projects]]
branch = "master"
+ digest = "1:ffbb5e45e7e69a915767cc2fcff99525645afdfefffee72c551940e4b055e538"
name = "github.com/mitchellh/mapstructure"
packages = ["."]
+ pruneopts = "NUT"
revision = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b"
[[projects]]
+ digest = "1:2f42fa12d6911c7b7659738758631bec870b7e9b4c6be5444f963cdcfccc191f"
name = "github.com/modern-go/concurrent"
packages = ["."]
+ pruneopts = "NUT"
revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
version = "1.0.3"
[[projects]]
+ digest = "1:c6aca19413b13dc59c220ad7430329e2ec454cc310bc6d8de2c7e2b93c18a0f6"
name = "github.com/modern-go/reflect2"
packages = ["."]
+ pruneopts = "NUT"
revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"
version = "1.0.1"
[[projects]]
branch = "master"
+ digest = "1:9a4b3aa34173171a6edcaffe483fda6eb63064a54d2e2a9ee9401ccec6532888"
name = "github.com/nlopes/slack"
packages = ["."]
+ pruneopts = "NUT"
revision = "13510604f06044c100aab2c446b0c0a28e4e8c18"
[[projects]]
+ digest = "1:ef4e60b8875f84f2e5606397fd43f821a04d7c041633723d54baf4e3b09360a3"
name = "github.com/onsi/ginkgo"
packages = [
"config",
@@ -592,187 +737,241 @@
"reporters/stenographer",
"reporters/stenographer/support/go-colorable",
"reporters/stenographer/support/go-isatty",
- "types"
+ "types",
]
+ pruneopts = "NUT"
revision = "fa5fabab2a1bfbd924faf4c067d07ae414e2aedf"
version = "v1.5.0"
[[projects]]
+ digest = "1:cce3a18fb0b96b5015cd8ca03a57d20a662679de03c4dc4b6ff5f17ea2050fa6"
name = "github.com/pborman/uuid"
packages = ["."]
+ pruneopts = "NUT"
revision = "e790cca94e6cc75c7064b1332e63811d4aae1a53"
version = "v1.1"
[[projects]]
+ digest = "1:cf254277d898b713195cc6b4a3fac8bf738b9f1121625df27843b52b267eec6c"
name = "github.com/pelletier/go-buffruneio"
packages = ["."]
+ pruneopts = "NUT"
revision = "c37440a7cf42ac63b919c752ca73a85067e05992"
version = "v0.2.0"
[[projects]]
+ digest = "1:51ea800cff51752ff68e12e04106f5887b4daec6f9356721238c28019f0b42db"
name = "github.com/pelletier/go-toml"
packages = ["."]
+ pruneopts = "NUT"
revision = "c01d1270ff3e442a8a57cddc1c92dc1138598194"
version = "v1.2.0"
[[projects]]
branch = "master"
+ digest = "1:3bf17a6e6eaa6ad24152148a631d18662f7212e21637c2699bff3369b7f00fa2"
name = "github.com/petar/GoLLRB"
packages = ["llrb"]
+ pruneopts = "NUT"
revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"
[[projects]]
+ digest = "1:6c6d91dc326ed6778783cff869c49fb2f61303cdd2ebbcf90abe53505793f3b6"
name = "github.com/peterbourgon/diskv"
packages = ["."]
+ pruneopts = "NUT"
revision = "5f041e8faa004a95c88a202771f4cc3e991971e6"
version = "v2.0.1"
[[projects]]
branch = "master"
+ digest = "1:fb519f672ebe265e5316551188145afd54dfb928452b125afe6dfaa26f800397"
name = "github.com/pkg/browser"
packages = ["."]
+ pruneopts = "NUT"
revision = "c90ca0c84f15f81c982e32665bffd8d7aac8f097"
[[projects]]
+ digest = "1:5cf3f025cbee5951a4ee961de067c8a89fc95a5adabead774f82822efabab121"
name = "github.com/pkg/errors"
packages = ["."]
+ pruneopts = "NUT"
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
version = "v0.8.0"
[[projects]]
+ digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
name = "github.com/pmezard/go-difflib"
packages = ["difflib"]
+ pruneopts = "NUT"
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
version = "v1.0.0"
[[projects]]
+ digest = "1:6afa627bbe35c115d7797e9a7ae1d869c80fbeae9bce67c448486d0f1d28a3cc"
name = "github.com/rifflock/lfshook"
packages = ["."]
+ pruneopts = "NUT"
revision = "bf539943797a1f34c1f502d07de419b5238ae6c6"
version = "v2.3"
[[projects]]
+ digest = "1:bcfa8e184764796499312e55cd8a5fff63896eca0d6faff6b6e43ac6a98a498a"
name = "github.com/russross/blackfriday"
packages = ["."]
+ pruneopts = "NUT"
revision = "55d61fa8aa702f59229e6cff85793c22e580eaf5"
version = "v1.5.1"
[[projects]]
+ digest = "1:6bc0652ea6e39e22ccd522458b8bdd8665bf23bdc5a20eec90056e4dc7e273ca"
name = "github.com/satori/go.uuid"
packages = ["."]
+ pruneopts = "NUT"
revision = "f58768cc1a7a7e77a3bd49e98cdd21419399b6a3"
version = "v1.2.0"
[[projects]]
+ digest = "1:d917313f309bda80d27274d53985bc65651f81a5b66b820749ac7f8ef061fd04"
name = "github.com/sergi/go-diff"
packages = ["diffmatchpatch"]
+ pruneopts = "NUT"
revision = "1744e2970ca51c86172c8190fadad617561ed6e7"
version = "v1.0.0"
[[projects]]
+ digest = "1:6989062eb7ccf25cf38bf4fe3dba097ee209f896cda42cefdca3927047bef7b6"
name = "github.com/sirupsen/logrus"
packages = ["."]
+ pruneopts = "NUT"
revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"
version = "v1.0.5"
[[projects]]
+ digest = "1:a36d61943d51cd4a1d7ecaf6993190527535a57382114ebf6549956b3e4cb612"
name = "github.com/spf13/afero"
packages = [
".",
- "mem"
+ "mem",
]
+ pruneopts = "NUT"
revision = "787d034dfe70e44075ccc060d346146ef53270ad"
version = "v1.1.1"
[[projects]]
+ digest = "1:3fa7947ca83b98ae553590d993886e845a4bff19b7b007e869c6e0dd3b9da9cd"
name = "github.com/spf13/cast"
packages = ["."]
+ pruneopts = "NUT"
revision = "8965335b8c7107321228e3e3702cab9832751bac"
version = "v1.2.0"
[[projects]]
+ digest = "1:e9d79c7c83750d7a14141c335dd581c7fdeb0a0f7c47aba80a32562e53aff480"
name = "github.com/spf13/cobra"
packages = [
".",
- "doc"
+ "doc",
]
+ pruneopts = "NUT"
revision = "ef82de70bb3f60c65fb8eebacbb2d122ef517385"
version = "v0.0.3"
[[projects]]
branch = "master"
+ digest = "1:f29f83301ed096daed24a90f4af591b7560cb14b9cc3e1827abbf04db7269ab5"
name = "github.com/spf13/jwalterweatherman"
packages = ["."]
+ pruneopts = "NUT"
revision = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"
[[projects]]
+ digest = "1:15e5c398fbd9d2c439b635a08ac161b13d04f0c2aa587fe256b65dc0c3efe8b7"
name = "github.com/spf13/pflag"
packages = ["."]
+ pruneopts = "NUT"
revision = "583c0c0531f06d5278b7d917446061adc344b5cd"
version = "v1.0.1"
[[projects]]
+ digest = "1:ea67fb4941c0a1a92f828e73cf426533c71db02df45a2cdf55a14c3e7b74c07a"
name = "github.com/spf13/viper"
packages = ["."]
+ pruneopts = "NUT"
revision = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736"
version = "v1.0.2"
[[projects]]
+ digest = "1:b8e3d68722a983a3451af8ca1acab725782cbc8cf28948a7c08cf394d8e2ad17"
name = "github.com/src-d/gcfg"
packages = [
".",
"scanner",
"token",
- "types"
+ "types",
]
+ pruneopts = "NUT"
revision = "f187355171c936ac84a82793659ebb4936bc1c23"
version = "v1.3.0"
[[projects]]
+ digest = "1:ea401d5768217268c640bfbdf50bc58780b948866e79ffac57b07e310a560510"
name = "github.com/stretchr/testify"
packages = [
"assert",
"require",
- "suite"
+ "suite",
]
+ pruneopts = "NUT"
revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686"
version = "v1.2.2"
[[projects]]
+ digest = "1:6e1958b49fab87f74e5f6356e6ce1904be8215bb5323c07a08dd0af8b3cb7521"
name = "github.com/trivago/tgo"
packages = [
"tcontainer",
- "treflect"
+ "treflect",
]
+ pruneopts = "NUT"
revision = "e4d1ddd28c17dd89ed26327cf69fded22060671b"
version = "v1.0.1"
[[projects]]
branch = "master"
+ digest = "1:233fccaf1bd0c3afd7bb7ffba68e3231846249b712bde7bf4a67822b296a4a8c"
name = "github.com/viniciuschiele/tarx"
packages = ["."]
+ pruneopts = "NUT"
revision = "6e3da540444d5fdf37d385434447dcbc51e7d0cb"
[[projects]]
branch = "master"
+ digest = "1:c3156c5a6dd2207ba73e4e734637efdc8f8038d922d2c2f9ff940b7299679b14"
name = "github.com/wbrefvem/go-bitbucket"
packages = ["."]
+ pruneopts = "NUT"
revision = "27c6c0db883c8ad9910a61155fd00e210f195ef9"
[[projects]]
branch = "master"
+ digest = "1:cce44e69aeb4940e6afe41f6418ef78a1974dbfe64f6581744a0b7d72cfbe848"
name = "github.com/wbrefvem/go-gitlab"
packages = ["."]
+ pruneopts = "NUT"
revision = "ecc4c5b8455a01dc64009b828cd19db9db3f3590"
[[projects]]
+ digest = "1:3148cb3478c26a92b4c1a18abb9428234b281e278af6267840721a24b6cbc6a3"
name = "github.com/xanzy/ssh-agent"
packages = ["."]
+ pruneopts = "NUT"
revision = "640f0ab560aeb89d523bb6ac322b1244d5c3796c"
version = "v0.2.0"
[[projects]]
branch = "master"
+ digest = "1:d2705e5ca5ffaf16703484e4e787e2142a5b4ee0dfde7587302f4c2a44b92277"
name = "golang.org/x/crypto"
packages = [
"cast5",
@@ -791,22 +990,26 @@
"ssh",
"ssh/agent",
"ssh/knownhosts",
- "ssh/terminal"
+ "ssh/terminal",
]
+ pruneopts = "NUT"
revision = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"
[[projects]]
branch = "master"
+ digest = "1:d6f2f2fea5a24933166d02a2328acd9f00a6cda530d943999523900d89363749"
name = "golang.org/x/image"
packages = [
"bmp",
"tiff",
- "tiff/lzw"
+ "tiff/lzw",
]
+ pruneopts = "NUT"
revision = "cc896f830cedae125428bc9fe1b0362aa91b3fb1"
[[projects]]
branch = "master"
+ digest = "1:5ac95dfd6dac98624777b1fdcbebe6c0bf372c34e1ac76473fc6741770481204"
name = "golang.org/x/net"
packages = [
"context",
@@ -814,32 +1017,38 @@
"http/httpguts",
"http2",
"http2/hpack",
- "idna"
+ "idna",
]
+ pruneopts = "NUT"
revision = "ed29d75add3d7c4bf7ca65aac0c6df3d1420216f"
[[projects]]
branch = "master"
+ digest = "1:4182888816989aa2ac1cd1f160bc9c8f32a831d7317d33731616eb27496e6e98"
name = "golang.org/x/oauth2"
packages = [
".",
"google",
"internal",
"jws",
- "jwt"
+ "jwt",
]
+ pruneopts = "NUT"
revision = "ef147856a6ddbb60760db74283d2424e98c87bff"
[[projects]]
branch = "master"
+ digest = "1:5600c8993ef3231fccb5f179dc0f6b21f5897f1b3e82c750a4e9148bb7d2c396"
name = "golang.org/x/sys"
packages = [
"unix",
- "windows"
+ "windows",
]
+ pruneopts = "NUT"
revision = "7138fd3d9dc8335c567ca206f4333fb75eb05d56"
[[projects]]
+ digest = "1:a0f29009397dc27c9dc8440f0945d49e5cbb9b72d0b0fc745474d9bfdea2d9f8"
name = "golang.org/x/text"
packages = [
"collate",
@@ -855,28 +1064,34 @@
"unicode/bidi",
"unicode/cldr",
"unicode/norm",
- "unicode/rangetable"
+ "unicode/rangetable",
]
+ pruneopts = "NUT"
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[projects]]
branch = "master"
+ digest = "1:c9e7a4b4d47c0ed205d257648b0e5b0440880cb728506e318f8ac7cd36270bc4"
name = "golang.org/x/time"
packages = ["rate"]
+ pruneopts = "NUT"
revision = "fbb02b2291d28baffd63558aa44b4b56f178d650"
[[projects]]
branch = "master"
+ digest = "1:85f463a160e3a5e6d6b87c717d21adddd654e602a9a9721c05f515b42b6cb7ea"
name = "golang.org/x/tools"
packages = [
"go/ast/astutil",
"imports",
- "internal/fastwalk"
+ "internal/fastwalk",
]
+ pruneopts = "NUT"
revision = "75d2ffb453d53bed20f95f0d563ee000dc4c0c83"
[[projects]]
+ digest = "1:0f41a4605e6df63445a5fc4e6df9262976cb56811b1db33d6c53c44459a91c02"
name = "google.golang.org/appengine"
packages = [
".",
@@ -888,40 +1103,48 @@
"internal/modules",
"internal/remote_api",
"internal/urlfetch",
- "urlfetch"
+ "urlfetch",
]
+ pruneopts = "NUT"
revision = "b1f26356af11148e710935ed1ac8a7f5702c7612"
version = "v1.1.0"
[[projects]]
+ digest = "1:adc4747eef1507b8365eb8e1b13fa41cba0ee09502f17adbf631e1295d496f0a"
name = "gopkg.in/AlecAivazis/survey.v1"
packages = [
".",
"core",
- "terminal"
+ "terminal",
]
+ pruneopts = "NUT"
revision = "db8e629a54ae1a4442be0deae7be60062c69d111"
version = "v1.6.0"
[[projects]]
+ digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a"
name = "gopkg.in/inf.v0"
packages = ["."]
+ pruneopts = "NUT"
revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf"
version = "v0.9.1"
[[projects]]
+ digest = "1:d5886a8d33e96de494a8aec0c4d40b8562ae377ac065e76657284926703e7357"
name = "gopkg.in/src-d/go-billy.v4"
packages = [
".",
"helper/chroot",
"helper/polyfill",
"osfs",
- "util"
+ "util",
]
+ pruneopts = "NUT"
revision = "83cf655d40b15b427014d7875d10850f96edba14"
version = "v4.2.0"
[[projects]]
+ digest = "1:ed1024c538f53c70f6abec31e045d533c1bbc6f1c5b90d19d9b69092aa7442ac"
name = "gopkg.in/src-d/go-git.v4"
packages = [
".",
@@ -963,25 +1186,31 @@
"utils/merkletrie/filesystem",
"utils/merkletrie/index",
"utils/merkletrie/internal/frame",
- "utils/merkletrie/noder"
+ "utils/merkletrie/noder",
]
+ pruneopts = "NUT"
revision = "b23570073eaee3489e5e3d666f22ba5cbeb53243"
version = "v4.4.1"
[[projects]]
+ digest = "1:b233ad4ec87ac916e7bf5e678e98a2cb9e8b52f6de6ad3e11834fc7a71b8e3bf"
name = "gopkg.in/warnings.v0"
packages = ["."]
+ pruneopts = "NUT"
revision = "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b"
version = "v0.1.2"
[[projects]]
+ digest = "1:7c95b35057a0ff2e19f707173cc1a947fa43a6eb5c4d300d196ece0334046082"
name = "gopkg.in/yaml.v2"
packages = ["."]
+ pruneopts = "NUT"
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
version = "v2.2.1"
[[projects]]
branch = "release-1.11"
+ digest = "1:343aa83d01988c686eded0a45cb44e57467a6b2eaaab9d073e52950ed876dc7e"
name = "k8s.io/api"
packages = [
"admissionregistration/v1alpha1",
@@ -1012,12 +1241,14 @@
"settings/v1alpha1",
"storage/v1",
"storage/v1alpha1",
- "storage/v1beta1"
+ "storage/v1beta1",
]
+ pruneopts = "NUT"
revision = "c90ba874e1fefc04aa710b1c5ecf4972b59bcac5"
[[projects]]
branch = "release-1.11"
+ digest = "1:a1d88bbb35b41acd43d1b6e239b474dbacbd25671da7b918e87e08a9de02ca14"
name = "k8s.io/apiextensions-apiserver"
packages = [
"pkg/apis/apiextensions",
@@ -1026,12 +1257,14 @@
"pkg/client/clientset/clientset/fake",
"pkg/client/clientset/clientset/scheme",
"pkg/client/clientset/clientset/typed/apiextensions/v1beta1",
- "pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake"
+ "pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake",
]
+ pruneopts = "NUT"
revision = "bbc52469f98bf18f81d6010a32c3377726cbfd84"
[[projects]]
branch = "release-1.11"
+ digest = "1:8ddad3a6a5b1cbdca023cd7f175313bcefc4c526fb48919deb7321bbb11824c3"
name = "k8s.io/apimachinery"
packages = [
"pkg/api/errors",
@@ -1079,12 +1312,14 @@
"pkg/watch",
"third_party/forked/golang/json",
"third_party/forked/golang/netutil",
- "third_party/forked/golang/reflect"
+ "third_party/forked/golang/reflect",
]
+ pruneopts = "NUT"
revision = "103fd098999dc9c0c88536f5c9ad2e5da39373ae"
[[projects]]
branch = "release-8.0"
+ digest = "1:bbf71ff6cdb213ef9d46b4fd622f3ba7e7fe1f24c1040daa9a91649c24544741"
name = "k8s.io/client-go"
packages = [
"discovery",
@@ -1186,12 +1421,14 @@
"util/homedir",
"util/integer",
"util/jsonpath",
- "util/retry"
+ "util/retry",
]
+ pruneopts = "NUT"
revision = "e5bc2a7bbbdf78f2a331b8c23838d1bbb1c6b40a"
[[projects]]
branch = "release-1.11"
+ digest = "1:277094fe099ad3ae25f5b4f7b5d67a5495b73a17392715083ece6caef89d5fc0"
name = "k8s.io/code-generator"
packages = [
"cmd/client-gen",
@@ -1202,43 +1439,51 @@
"cmd/client-gen/generators/util",
"cmd/client-gen/path",
"cmd/client-gen/types",
- "pkg/util"
+ "pkg/util",
]
+ pruneopts = ""
revision = "6702109cc68eb6fe6350b83e14407c8d7309fd1a"
[[projects]]
branch = "master"
+ digest = "1:3ae27658bc8700d70f12b22275206853d6806fa4f21b0df3c3f3de9113d6d218"
name = "k8s.io/gengo"
packages = [
"args",
"generator",
"namer",
"parser",
- "types"
+ "types",
]
+ pruneopts = ""
revision = "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
[[projects]]
+ digest = "1:cfb9b0c6dfb8433427e5070525f5e6567ac95a71a814d60b43866df1e78449bf"
name = "k8s.io/helm"
packages = [
"pkg/chartutil",
"pkg/ignore",
"pkg/proto/hapi/chart",
"pkg/proto/hapi/version",
- "pkg/version"
+ "pkg/version",
]
+ pruneopts = "NUT"
revision = "8478fb4fc723885b155c924d1c8c410b7a9444e6"
source = "https://github.com/jenkins-x/helm.git"
version = "v2.7.2"
[[projects]]
branch = "master"
+ digest = "1:a2c842a1e0aed96fd732b535514556323a6f5edfded3b63e5e0ab1bce188aa54"
name = "k8s.io/kube-openapi"
packages = ["pkg/util/proto"]
+ pruneopts = "NUT"
revision = "d83b052f768a50a309c692a9c271da3f3276ff88"
[[projects]]
branch = "release-1.10"
+ digest = "1:7eb78c1f14fb653f358af37ba1a79b5d5055b42c35ad7be66fb4fd734e941c13"
name = "k8s.io/metrics"
packages = [
"pkg/apis/metrics",
@@ -1247,13 +1492,110 @@
"pkg/client/clientset_generated/clientset",
"pkg/client/clientset_generated/clientset/scheme",
"pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1",
- "pkg/client/clientset_generated/clientset/typed/metrics/v1beta1"
+ "pkg/client/clientset_generated/clientset/typed/metrics/v1beta1",
]
+ pruneopts = "NUT"
revision = "b11cf31b380ba10a99b7c0b900f6a71f1045db45"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
- inputs-digest = "35af37325e42f40d207c4c78c91cd7e128e450a357e31719aaa5254917a19022"
+ input-imports = [
+ "code.gitea.io/sdk/gitea",
+ "github.com/Azure/draft/pkg/draft/draftpath",
+ "github.com/Azure/draft/pkg/draft/pack/repo",
+ "github.com/Azure/draft/pkg/linguist",
+ "github.com/Jeffail/gabs",
+ "github.com/MakeNowJust/heredoc",
+ "github.com/Pallinder/go-randomdata",
+ "github.com/andygrunwald/go-gerrit",
+ "github.com/andygrunwald/go-jira",
+ "github.com/aws/aws-sdk-go/aws",
+ "github.com/aws/aws-sdk-go/aws/awserr",
+ "github.com/aws/aws-sdk-go/aws/session",
+ "github.com/aws/aws-sdk-go/service/ec2",
+ "github.com/aws/aws-sdk-go/service/ecr",
+ "github.com/aws/aws-sdk-go/service/s3",
+ "github.com/aws/aws-sdk-go/service/sts",
+ "github.com/beevik/etree",
+ "github.com/blang/semver",
+ "github.com/chromedp/cdproto/cdp",
+ "github.com/chromedp/chromedp",
+ "github.com/chromedp/chromedp/runner",
+ "github.com/fatih/color",
+ "github.com/gfleury/go-bitbucket-v1",
+ "github.com/ghodss/yaml",
+ "github.com/golang/glog",
+ "github.com/google/go-github/github",
+ "github.com/hashicorp/go-version",
+ "github.com/heptio/sonobuoy/pkg/buildinfo",
+ "github.com/heptio/sonobuoy/pkg/client",
+ "github.com/heptio/sonobuoy/pkg/client/results",
+ "github.com/heptio/sonobuoy/pkg/config",
+ "github.com/heptio/sonobuoy/pkg/dynamic",
+ "github.com/heptio/sonobuoy/pkg/plugin/aggregation",
+ "github.com/jenkins-x/chyle/chyle/git",
+ "github.com/jenkins-x/draft-repo/pkg/draft/pack",
+ "github.com/jenkins-x/golang-jenkins",
+ "github.com/mitchellh/mapstructure",
+ "github.com/nlopes/slack",
+ "github.com/onsi/ginkgo/reporters",
+ "github.com/pborman/uuid",
+ "github.com/pkg/browser",
+ "github.com/pkg/errors",
+ "github.com/russross/blackfriday",
+ "github.com/spf13/cobra",
+ "github.com/spf13/cobra/doc",
+ "github.com/spf13/pflag",
+ "github.com/stretchr/testify/assert",
+ "github.com/stretchr/testify/suite",
+ "github.com/wbrefvem/go-bitbucket",
+ "github.com/wbrefvem/go-gitlab",
+ "golang.org/x/oauth2",
+ "gopkg.in/AlecAivazis/survey.v1",
+ "gopkg.in/src-d/go-git.v4",
+ "gopkg.in/src-d/go-git.v4/config",
+ "gopkg.in/src-d/go-git.v4/plumbing/object",
+ "gopkg.in/yaml.v2",
+ "k8s.io/api/apps/v1beta1",
+ "k8s.io/api/batch/v1",
+ "k8s.io/api/core/v1",
+ "k8s.io/api/rbac/v1",
+ "k8s.io/api/storage/v1",
+ "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1",
+ "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset",
+ "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake",
+ "k8s.io/apimachinery/pkg/api/errors",
+ "k8s.io/apimachinery/pkg/api/meta",
+ "k8s.io/apimachinery/pkg/api/resource",
+ "k8s.io/apimachinery/pkg/apis/meta/v1",
+ "k8s.io/apimachinery/pkg/fields",
+ "k8s.io/apimachinery/pkg/labels",
+ "k8s.io/apimachinery/pkg/runtime",
+ "k8s.io/apimachinery/pkg/runtime/schema",
+ "k8s.io/apimachinery/pkg/runtime/serializer",
+ "k8s.io/apimachinery/pkg/types",
+ "k8s.io/apimachinery/pkg/util/errors",
+ "k8s.io/apimachinery/pkg/util/uuid",
+ "k8s.io/apimachinery/pkg/util/validation",
+ "k8s.io/apimachinery/pkg/util/wait",
+ "k8s.io/apimachinery/pkg/watch",
+ "k8s.io/client-go/discovery",
+ "k8s.io/client-go/discovery/fake",
+ "k8s.io/client-go/kubernetes",
+ "k8s.io/client-go/kubernetes/fake",
+ "k8s.io/client-go/kubernetes/scheme",
+ "k8s.io/client-go/plugin/pkg/client/auth",
+ "k8s.io/client-go/rest",
+ "k8s.io/client-go/testing",
+ "k8s.io/client-go/tools/cache",
+ "k8s.io/client-go/tools/clientcmd",
+ "k8s.io/client-go/tools/clientcmd/api",
+ "k8s.io/client-go/util/flowcontrol",
+ "k8s.io/code-generator/cmd/client-gen",
+ "k8s.io/helm/pkg/chartutil",
+ "k8s.io/metrics/pkg/apis/metrics/v1beta1",
+ "k8s.io/metrics/pkg/client/clientset_generated/clientset",
+ ]
solver-name = "gps-cdcl"
solver-version = 1
diff --git a/pkg/cloud/amazon/s3.go b/pkg/cloud/amazon/s3.go
new file mode 100644
index 0000000000..a95a951a1a
--- /dev/null
+++ b/pkg/cloud/amazon/s3.go
@@ -0,0 +1,32 @@
+package amazon
+
+import (
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/service/s3"
+)
+
+// CreateS3Bucket creates a new S3 bucket in the default region with the given bucket name
+// returning the location string
+func CreateS3Bucket(bucketName string, region string) (string, error) {
+ location := ""
+ sess, defaultRegion, err := NewAwsSession()
+ if err != nil {
+ return location, err
+ }
+ if region == "" {
+ region = defaultRegion
+ }
+
+ input := &s3.CreateBucketInput{
+ Bucket: aws.String(bucketName),
+ CreateBucketConfiguration: &s3.CreateBucketConfiguration{
+ LocationConstraint: aws.String(region),
+ },
+ }
+ svc := s3.New(sess)
+ result, err := svc.CreateBucket(input)
+ if result != nil && result.Location != nil {
+ location = *result.Location
+ }
+ return location, err
+}
diff --git a/pkg/cloud/amazon/zones.go b/pkg/cloud/amazon/zones.go
new file mode 100644
index 0000000000..f9a640ae82
--- /dev/null
+++ b/pkg/cloud/amazon/zones.go
@@ -0,0 +1,28 @@
+package amazon
+
+import (
+ "github.com/aws/aws-sdk-go/service/ec2"
+)
+
+func AvailabilityZones() ([]string, error) {
+ answer := []string{}
+
+ sess, _, err := NewAwsSession()
+ if err != nil {
+ return answer, err
+ }
+
+ svc := ec2.New(sess)
+ input := &ec2.DescribeAvailabilityZonesInput{}
+
+ result, err := svc.DescribeAvailabilityZones(input)
+ if err != nil {
+ return answer, err
+ }
+ for _, zone := range result.AvailabilityZones {
+ if zone != nil && zone.ZoneName != nil {
+ answer = append(answer, *zone.ZoneName)
+ }
+ }
+ return answer, nil
+}
diff --git a/pkg/jx/cmd/common_install.go b/pkg/jx/cmd/common_install.go
index 2554754833..fc45cdd98e 100644
--- a/pkg/jx/cmd/common_install.go
+++ b/pkg/jx/cmd/common_install.go
@@ -626,9 +626,6 @@ func (o *CommonOptions) getLatestJXVersion() (semver.Version, error) {
}
func (o *CommonOptions) installKops() error {
- if runtime.GOOS == "darwin" && !o.NoBrew {
- return o.runCommand("brew", "install", "kops")
- }
binDir, err := util.BinaryLocation()
if err != nil {
return err
@@ -638,7 +635,7 @@ func (o *CommonOptions) installKops() error {
if err != nil || !flag {
return err
}
- latestVersion, err := util.GetLatestVersionFromGitHub("kubernetes", "kops")
+ latestVersion, err := util.GetLatestVersionStringFromGitHub("kubernetes", "kops")
if err != nil {
return err
}
diff --git a/pkg/jx/cmd/create_cluster_aws.go b/pkg/jx/cmd/create_cluster_aws.go
index 9644ccceb2..94d7ccdecf 100644
--- a/pkg/jx/cmd/create_cluster_aws.go
+++ b/pkg/jx/cmd/create_cluster_aws.go
@@ -4,16 +4,19 @@ import (
"fmt"
"io"
"io/ioutil"
+ "net/url"
"os"
"strings"
"time"
+ "github.com/jenkins-x/jx/pkg/cloud/amazon"
"github.com/jenkins-x/jx/pkg/jx/cmd/templates"
"github.com/jenkins-x/jx/pkg/kube"
"github.com/jenkins-x/jx/pkg/log"
"github.com/jenkins-x/jx/pkg/util"
"github.com/spf13/cobra"
"gopkg.in/AlecAivazis/survey.v1"
+ "k8s.io/apimachinery/pkg/util/uuid"
)
const (
@@ -37,6 +40,7 @@ type CreateClusterAWSFlags struct {
TerraformDirectory string
NodeSize string
MasterSize string
+ State string
}
var (
@@ -93,6 +97,7 @@ func NewCmdCreateClusterAWS(f Factory, out io.Writer, errOut io.Writer) *cobra.C
cmd.Flags().StringVarP(&options.Flags.TerraformDirectory, "terraform", "t", "", "The directory to save terraform configuration.")
cmd.Flags().StringVarP(&options.Flags.NodeSize, "node-size", "", "", "The size of a node in the kops created cluster.")
cmd.Flags().StringVarP(&options.Flags.MasterSize, "master-size", "", "", "The size of a master in the kops created cluster.")
+ cmd.Flags().StringVarP(&options.Flags.State, "state", "", "", "The S3 bucket used to store the state of the cluster.")
return cmd
}
@@ -135,6 +140,19 @@ func (o *CreateClusterAWSOptions) Run() error {
zones := flags.Zones
if zones == "" {
zones = os.Getenv("AWS_AVAILABILITY_ZONES")
+ if zones == "" {
+ availabilityZones, err := amazon.AvailabilityZones()
+ if err != nil {
+ return err
+ }
+ c := len(availabilityZones)
+ if c > 0 {
+ zones, err = util.PickNameWithDefault(availabilityZones, "Pick availability zone: ", availabilityZones[c-1])
+ if err != nil {
+ return err
+ }
+ }
+ }
if zones == "" {
log.Warnf("No AWS_AVAILABILITY_ZONES environment variable is defined or %s option!\n", optionZones)
@@ -152,6 +170,35 @@ func (o *CreateClusterAWSOptions) Run() error {
if zones == "" {
return fmt.Errorf("No Availility zones provided!")
}
+ accountId, _, err := amazon.GetAccountIDAndRegion()
+ if err != nil {
+ return err
+ }
+ state := flags.State
+ if state == "" {
+ kopsState := os.Getenv("KOPS_STATE_STORE")
+ if kopsState == "" {
+ bucketName := "kops-state-" + accountId + "-" + string(uuid.NewUUID())
+ log.Infof("Creating S3 bucket %s to store kops state\n", util.ColorInfo(bucketName))
+
+ location, err := amazon.CreateS3Bucket(bucketName, "us-west-1")
+ if err != nil {
+ return err
+ }
+ u, err := url.Parse(location)
+ if err != nil {
+ return fmt.Errorf("Failed to parse S3 bucket location URL %s: %s", location, err)
+ }
+ state = u.Hostname()
+ idx := strings.Index(state, ".")
+ if idx > 0 {
+ state = state[0:idx]
+ }
+ state = "s3://" + state
+
+ log.Infof("To work more easily with kops on the command line you may wish to run the following: %s\n", util.ColorInfo("export KOPS_STATE_STORE="+state))
+ }
+ }
name := flags.ClusterName
if name == "" {
@@ -175,6 +222,9 @@ func (o *CreateClusterAWSOptions) Run() error {
if flags.MasterSize != "" {
args = append(args, "--master-size", flags.MasterSize)
}
+ if state != "" {
+ args = append(args, "--state", state)
+ }
auth := "RBAC"
if !flags.UseRBAC {
@@ -278,19 +328,19 @@ func (o *CreateClusterAWSOptions) modifyClusterConfigJson(json string, insecureR
}
log.Infof("Updating Cluster configuration to enable insecure docker registries %s\n", util.ColorInfo(insecureRegistries))
- err = o.runCommand("kops", "replace", "-f", fileName)
+ err = o.runCommandVerbose("kops", "replace", "-f", fileName)
if err != nil {
return err
}
log.Infoln("Updating the cluster")
- err = o.runCommand("kops", "update", "cluster", "--yes")
+ err = o.runCommandVerbose("kops", "update", "cluster", "--yes")
if err != nil {
return err
}
log.Infoln("Rolling update the cluster")
- err = o.runCommand("kops", "rolling-update", "cluster", "--cloudonly", "--yes")
+ err = o.runCommandVerbose("kops", "rolling-update", "cluster", "--cloudonly", "--yes")
if err != nil {
// lets not fail to install if the rolling upgrade fails
log.Warnf("Failed to perform rolling upgrade: %s\n", err)
diff --git a/pkg/jx/cmd/install.go b/pkg/jx/cmd/install.go
index be13399748..6983dfaf52 100644
--- a/pkg/jx/cmd/install.go
+++ b/pkg/jx/cmd/install.go
@@ -46,6 +46,7 @@ type InstallOptions struct {
type InstallFlags struct {
Domain string
+ DockerRegistry string
Provider string
CloudEnvRepository string
LocalHelmRepoName string
@@ -197,6 +198,7 @@ func (options *InstallOptions) addInstallFlags(cmd *cobra.Command, includesInit
cmd.Flags().BoolVarP(&flags.CleanupTempFiles, "cleanup-temp-files", "", true, "Cleans up any temporary values.yaml used by helm install [default true]")
cmd.Flags().BoolVarP(&flags.HelmTLS, "helm-tls", "", false, "Whether to use TLS with helm")
cmd.Flags().BoolVarP(&flags.InstallOnly, "install-only", "", false, "Force the install comand to fail if there is already an installation. Otherwise lets update the installation")
+ cmd.Flags().StringVarP(&flags.DockerRegistry, "docker-registry", "", "", "The Docker Registry host or host:port which is used when tagging and pushing images. If not specified it defaults to the internal registry unless there is a better provider default (e.g. ECR on AWS/EKS)")
cmd.Flags().StringVarP(&flags.Version, "version", "", "", "The specific platform version to install")
addGitRepoOptionsArguments(cmd, &options.GitRepositoryOptions)
@@ -1015,6 +1017,9 @@ func (o *InstallOptions) ensureDefaultStorageClass(client kubernetes.Interface,
// returns the docker registry string for the given provider
func (o *InstallOptions) dockerRegistryValue() (string, error) {
+ if o.Flags.DockerRegistry != "" {
+ return o.Flags.DockerRegistry, nil
+ }
if o.Flags.Provider == AWS || o.Flags.Provider == EKS {
return amazon.GetContainerRegistryHost()
}
diff --git a/pkg/kube/kops.go b/pkg/kube/kops.go
index 5320bcc0ef..71dd33c0ed 100644
--- a/pkg/kube/kops.go
+++ b/pkg/kube/kops.go
@@ -4,6 +4,10 @@ import (
"github.com/Jeffail/gabs"
)
+const (
+ additionalNodePolicies = `[{"Action":["ecr:InitiateLayerUpload","ecr:UploadLayerPart","ecr:CompleteLayerUpload","ecr:PutImage"],"Effect":"Allow","Resource":["*"],"Sid":"kopsK8sECRwrite"}]`
+)
+
// EnableInsecureRegistry appends the Docker Registry
func EnableInsecureRegistry(iqJson string, dockerRegistry string) (string, error) {
doc, err := gabs.ParseJSON([]byte(iqJson))
@@ -15,5 +19,10 @@ func EnableInsecureRegistry(iqJson string, dockerRegistry string) (string, error
if err != nil {
return "", err
}
+
+ _, err = doc.Set(additionalNodePolicies, "spec", "additionalPolicies", "node")
+ if err != nil {
+ return "", err
+ }
return doc.String(), nil
}
diff --git a/pkg/kube/kops_test.go b/pkg/kube/kops_test.go
index 8a7a16ca20..b12a822a77 100644
--- a/pkg/kube/kops_test.go
+++ b/pkg/kube/kops_test.go
@@ -3,15 +3,18 @@ package kube
import (
"github.com/Jeffail/gabs"
"github.com/stretchr/testify/assert"
+ "strings"
"testing"
)
func TestInsecureRegistry(t *testing.T) {
registry := "foo.bar.com"
+ nodeJson := strings.Replace(additionalNodePolicies, `"`, `\"`, -1)
+
input := `{"kind":"InstanceGroup","apiVersion":"kops/v1alpha2","metadata":{"name":"nodes","creationTimestamp":"2018-03-14T19:30:51Z","labels":{"kops.k8s.io/cluster":"aws1.cluster.k8s.local"}},"spec":{"role":"Node","image":"kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08","minSize":2,"maxSize":2,"machineType":"t2.medium","subnets":["eu-west-1a","eu-west-1b","eu-west-1c"],"nodeLabels":{"kops.k8s.io/instancegroup":"nodes"}}}`
- output := `{"kind":"InstanceGroup","apiVersion":"kops/v1alpha2","metadata":{"name":"nodes","creationTimestamp":"2018-03-14T19:30:51Z","labels":{"kops.k8s.io/cluster":"aws1.cluster.k8s.local"}},"spec":{"role":"Node","image":"kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08","minSize":2,"maxSize":2,"machineType":"t2.medium","subnets":["eu-west-1a","eu-west-1b","eu-west-1c"],"nodeLabels":{"kops.k8s.io/instancegroup":"nodes"},"docker":{"insecureRegistry":"` + registry + `"}}}`
+ output := `{"kind":"InstanceGroup","apiVersion":"kops/v1alpha2","metadata":{"name":"nodes","creationTimestamp":"2018-03-14T19:30:51Z","labels":{"kops.k8s.io/cluster":"aws1.cluster.k8s.local"}},"spec":{"additionalPolicies":{"node":"` + nodeJson + `"},"role":"Node","image":"kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08","minSize":2,"maxSize":2,"machineType":"t2.medium","subnets":["eu-west-1a","eu-west-1b","eu-west-1c"],"nodeLabels":{"kops.k8s.io/instancegroup":"nodes"},"docker":{"insecureRegistry":"` + registry + `"}}}`
// lets parse and output the JSON to ensure the same ordering when testing the results
outputModel, err := gabs.ParseJSON([]byte(output))
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
new file mode 100644
index 0000000000..3104e6ce4c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
@@ -0,0 +1,35 @@
+// Package ec2query provides serialization of AWS EC2 requests and responses.
+package ec2query
+
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/ec2.json build_test.go
+
+import (
+ "net/url"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/private/protocol/query/queryutil"
+)
+
+// BuildHandler is a named request handler for building ec2query protocol requests
+var BuildHandler = request.NamedHandler{Name: "awssdk.ec2query.Build", Fn: Build}
+
+// Build builds a request for the EC2 protocol.
+func Build(r *request.Request) {
+ body := url.Values{
+ "Action": {r.Operation.Name},
+ "Version": {r.ClientInfo.APIVersion},
+ }
+ if err := queryutil.Parse(body, r.Params, true); err != nil {
+ r.Error = awserr.New("SerializationError", "failed encoding EC2 Query request", err)
+ }
+
+ if !r.IsPresigned() {
+ r.HTTPRequest.Method = "POST"
+ r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
+ r.SetBufferBody([]byte(body.Encode()))
+ } else { // This is a pre-signed request
+ r.HTTPRequest.Method = "GET"
+ r.HTTPRequest.URL.RawQuery = body.Encode()
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go
new file mode 100644
index 0000000000..095e97ccf9
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go
@@ -0,0 +1,63 @@
+package ec2query
+
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/ec2.json unmarshal_test.go
+
+import (
+ "encoding/xml"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil"
+)
+
+// UnmarshalHandler is a named request handler for unmarshaling ec2query protocol requests
+var UnmarshalHandler = request.NamedHandler{Name: "awssdk.ec2query.Unmarshal", Fn: Unmarshal}
+
+// UnmarshalMetaHandler is a named request handler for unmarshaling ec2query protocol request metadata
+var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.ec2query.UnmarshalMeta", Fn: UnmarshalMeta}
+
+// UnmarshalErrorHandler is a named request handler for unmarshaling ec2query protocol request errors
+var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.ec2query.UnmarshalError", Fn: UnmarshalError}
+
+// Unmarshal unmarshals a response body for the EC2 protocol.
+func Unmarshal(r *request.Request) {
+ defer r.HTTPResponse.Body.Close()
+ if r.DataFilled() {
+ decoder := xml.NewDecoder(r.HTTPResponse.Body)
+ err := xmlutil.UnmarshalXML(r.Data, decoder, "")
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed decoding EC2 Query response", err)
+ return
+ }
+ }
+}
+
+// UnmarshalMeta unmarshals response headers for the EC2 protocol.
+func UnmarshalMeta(r *request.Request) {
+ // TODO implement unmarshaling of request IDs
+}
+
+type xmlErrorResponse struct {
+ XMLName xml.Name `xml:"Response"`
+ Code string `xml:"Errors>Error>Code"`
+ Message string `xml:"Errors>Error>Message"`
+ RequestID string `xml:"RequestID"`
+}
+
+// UnmarshalError unmarshals a response error for the EC2 protocol.
+func UnmarshalError(r *request.Request) {
+ defer r.HTTPResponse.Body.Close()
+
+ resp := &xmlErrorResponse{}
+ err := xml.NewDecoder(r.HTTPResponse.Body).Decode(resp)
+ if err != nil && err != io.EOF {
+ r.Error = awserr.New("SerializationError", "failed decoding EC2 Query error response", err)
+ } else {
+ r.Error = awserr.NewRequestFailure(
+ awserr.New(resp.Code, resp.Message, nil),
+ r.HTTPResponse.StatusCode,
+ resp.RequestID,
+ )
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go
new file mode 100644
index 0000000000..ecc7bf82fa
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go
@@ -0,0 +1,144 @@
+package eventstream
+
+import (
+ "bytes"
+ "encoding/base64"
+ "encoding/json"
+ "fmt"
+ "strconv"
+)
+
+type decodedMessage struct {
+ rawMessage
+ Headers decodedHeaders `json:"headers"`
+}
+type jsonMessage struct {
+ Length json.Number `json:"total_length"`
+ HeadersLen json.Number `json:"headers_length"`
+ PreludeCRC json.Number `json:"prelude_crc"`
+ Headers decodedHeaders `json:"headers"`
+ Payload []byte `json:"payload"`
+ CRC json.Number `json:"message_crc"`
+}
+
+func (d *decodedMessage) UnmarshalJSON(b []byte) (err error) {
+ var jsonMsg jsonMessage
+ if err = json.Unmarshal(b, &jsonMsg); err != nil {
+ return err
+ }
+
+ d.Length, err = numAsUint32(jsonMsg.Length)
+ if err != nil {
+ return err
+ }
+ d.HeadersLen, err = numAsUint32(jsonMsg.HeadersLen)
+ if err != nil {
+ return err
+ }
+ d.PreludeCRC, err = numAsUint32(jsonMsg.PreludeCRC)
+ if err != nil {
+ return err
+ }
+ d.Headers = jsonMsg.Headers
+ d.Payload = jsonMsg.Payload
+ d.CRC, err = numAsUint32(jsonMsg.CRC)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (d *decodedMessage) MarshalJSON() ([]byte, error) {
+ jsonMsg := jsonMessage{
+ Length: json.Number(strconv.Itoa(int(d.Length))),
+ HeadersLen: json.Number(strconv.Itoa(int(d.HeadersLen))),
+ PreludeCRC: json.Number(strconv.Itoa(int(d.PreludeCRC))),
+ Headers: d.Headers,
+ Payload: d.Payload,
+ CRC: json.Number(strconv.Itoa(int(d.CRC))),
+ }
+
+ return json.Marshal(jsonMsg)
+}
+
+func numAsUint32(n json.Number) (uint32, error) {
+ v, err := n.Int64()
+ if err != nil {
+ return 0, fmt.Errorf("failed to get int64 json number, %v", err)
+ }
+
+ return uint32(v), nil
+}
+
+func (d decodedMessage) Message() Message {
+ return Message{
+ Headers: Headers(d.Headers),
+ Payload: d.Payload,
+ }
+}
+
+type decodedHeaders Headers
+
+func (hs *decodedHeaders) UnmarshalJSON(b []byte) error {
+ var jsonHeaders []struct {
+ Name string `json:"name"`
+ Type valueType `json:"type"`
+ Value interface{} `json:"value"`
+ }
+
+ decoder := json.NewDecoder(bytes.NewReader(b))
+ decoder.UseNumber()
+ if err := decoder.Decode(&jsonHeaders); err != nil {
+ return err
+ }
+
+ var headers Headers
+ for _, h := range jsonHeaders {
+ value, err := valueFromType(h.Type, h.Value)
+ if err != nil {
+ return err
+ }
+ headers.Set(h.Name, value)
+ }
+ (*hs) = decodedHeaders(headers)
+
+ return nil
+}
+
+func valueFromType(typ valueType, val interface{}) (Value, error) {
+ switch typ {
+ case trueValueType:
+ return BoolValue(true), nil
+ case falseValueType:
+ return BoolValue(false), nil
+ case int8ValueType:
+ v, err := val.(json.Number).Int64()
+ return Int8Value(int8(v)), err
+ case int16ValueType:
+ v, err := val.(json.Number).Int64()
+ return Int16Value(int16(v)), err
+ case int32ValueType:
+ v, err := val.(json.Number).Int64()
+ return Int32Value(int32(v)), err
+ case int64ValueType:
+ v, err := val.(json.Number).Int64()
+ return Int64Value(v), err
+ case bytesValueType:
+ v, err := base64.StdEncoding.DecodeString(val.(string))
+ return BytesValue(v), err
+ case stringValueType:
+ v, err := base64.StdEncoding.DecodeString(val.(string))
+ return StringValue(string(v)), err
+ case timestampValueType:
+ v, err := val.(json.Number).Int64()
+ return TimestampValue(timeFromEpochMilli(v)), err
+ case uuidValueType:
+ v, err := base64.StdEncoding.DecodeString(val.(string))
+ var tv UUIDValue
+ copy(tv[:], v)
+ return tv, err
+ default:
+ panic(fmt.Sprintf("unknown type, %s, %T", typ.String(), val))
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go
new file mode 100644
index 0000000000..4b972b2d66
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go
@@ -0,0 +1,199 @@
+package eventstream
+
+import (
+ "bytes"
+ "encoding/binary"
+ "encoding/hex"
+ "encoding/json"
+ "fmt"
+ "hash"
+ "hash/crc32"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws"
+)
+
+// Decoder provides decoding of an Event Stream messages.
+type Decoder struct {
+ r io.Reader
+ logger aws.Logger
+}
+
+// NewDecoder initializes and returns a Decoder for decoding event
+// stream messages from the reader provided.
+func NewDecoder(r io.Reader) *Decoder {
+ return &Decoder{
+ r: r,
+ }
+}
+
+// Decode attempts to decode a single message from the event stream reader.
+// Will return the event stream message, or error if Decode fails to read
+// the message from the stream.
+func (d *Decoder) Decode(payloadBuf []byte) (m Message, err error) {
+ reader := d.r
+ if d.logger != nil {
+ debugMsgBuf := bytes.NewBuffer(nil)
+ reader = io.TeeReader(reader, debugMsgBuf)
+ defer func() {
+ logMessageDecode(d.logger, debugMsgBuf, m, err)
+ }()
+ }
+
+ crc := crc32.New(crc32IEEETable)
+ hashReader := io.TeeReader(reader, crc)
+
+ prelude, err := decodePrelude(hashReader, crc)
+ if err != nil {
+ return Message{}, err
+ }
+
+ if prelude.HeadersLen > 0 {
+ lr := io.LimitReader(hashReader, int64(prelude.HeadersLen))
+ m.Headers, err = decodeHeaders(lr)
+ if err != nil {
+ return Message{}, err
+ }
+ }
+
+ if payloadLen := prelude.PayloadLen(); payloadLen > 0 {
+ buf, err := decodePayload(payloadBuf, io.LimitReader(hashReader, int64(payloadLen)))
+ if err != nil {
+ return Message{}, err
+ }
+ m.Payload = buf
+ }
+
+ msgCRC := crc.Sum32()
+ if err := validateCRC(reader, msgCRC); err != nil {
+ return Message{}, err
+ }
+
+ return m, nil
+}
+
+// UseLogger specifies the Logger that that the decoder should use to log the
+// message decode to.
+func (d *Decoder) UseLogger(logger aws.Logger) {
+ d.logger = logger
+}
+
+func logMessageDecode(logger aws.Logger, msgBuf *bytes.Buffer, msg Message, decodeErr error) {
+ w := bytes.NewBuffer(nil)
+ defer func() { logger.Log(w.String()) }()
+
+ fmt.Fprintf(w, "Raw message:\n%s\n",
+ hex.Dump(msgBuf.Bytes()))
+
+ if decodeErr != nil {
+ fmt.Fprintf(w, "Decode error: %v\n", decodeErr)
+ return
+ }
+
+ rawMsg, err := msg.rawMessage()
+ if err != nil {
+ fmt.Fprintf(w, "failed to create raw message, %v\n", err)
+ return
+ }
+
+ decodedMsg := decodedMessage{
+ rawMessage: rawMsg,
+ Headers: decodedHeaders(msg.Headers),
+ }
+
+ fmt.Fprintf(w, "Decoded message:\n")
+ encoder := json.NewEncoder(w)
+ if err := encoder.Encode(decodedMsg); err != nil {
+ fmt.Fprintf(w, "failed to generate decoded message, %v\n", err)
+ }
+}
+
+func decodePrelude(r io.Reader, crc hash.Hash32) (messagePrelude, error) {
+ var p messagePrelude
+
+ var err error
+ p.Length, err = decodeUint32(r)
+ if err != nil {
+ return messagePrelude{}, err
+ }
+
+ p.HeadersLen, err = decodeUint32(r)
+ if err != nil {
+ return messagePrelude{}, err
+ }
+
+ if err := p.ValidateLens(); err != nil {
+ return messagePrelude{}, err
+ }
+
+ preludeCRC := crc.Sum32()
+ if err := validateCRC(r, preludeCRC); err != nil {
+ return messagePrelude{}, err
+ }
+
+ p.PreludeCRC = preludeCRC
+
+ return p, nil
+}
+
+func decodePayload(buf []byte, r io.Reader) ([]byte, error) {
+ w := bytes.NewBuffer(buf[0:0])
+
+ _, err := io.Copy(w, r)
+ return w.Bytes(), err
+}
+
+func decodeUint8(r io.Reader) (uint8, error) {
+ type byteReader interface {
+ ReadByte() (byte, error)
+ }
+
+ if br, ok := r.(byteReader); ok {
+ v, err := br.ReadByte()
+ return uint8(v), err
+ }
+
+ var b [1]byte
+ _, err := io.ReadFull(r, b[:])
+ return uint8(b[0]), err
+}
+func decodeUint16(r io.Reader) (uint16, error) {
+ var b [2]byte
+ bs := b[:]
+ _, err := io.ReadFull(r, bs)
+ if err != nil {
+ return 0, err
+ }
+ return binary.BigEndian.Uint16(bs), nil
+}
+func decodeUint32(r io.Reader) (uint32, error) {
+ var b [4]byte
+ bs := b[:]
+ _, err := io.ReadFull(r, bs)
+ if err != nil {
+ return 0, err
+ }
+ return binary.BigEndian.Uint32(bs), nil
+}
+func decodeUint64(r io.Reader) (uint64, error) {
+ var b [8]byte
+ bs := b[:]
+ _, err := io.ReadFull(r, bs)
+ if err != nil {
+ return 0, err
+ }
+ return binary.BigEndian.Uint64(bs), nil
+}
+
+func validateCRC(r io.Reader, expect uint32) error {
+ msgCRC, err := decodeUint32(r)
+ if err != nil {
+ return err
+ }
+
+ if msgCRC != expect {
+ return ChecksumError{}
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go
new file mode 100644
index 0000000000..150a60981d
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go
@@ -0,0 +1,114 @@
+package eventstream
+
+import (
+ "bytes"
+ "encoding/binary"
+ "hash"
+ "hash/crc32"
+ "io"
+)
+
+// Encoder provides EventStream message encoding.
+type Encoder struct {
+ w io.Writer
+
+ headersBuf *bytes.Buffer
+}
+
+// NewEncoder initializes and returns an Encoder to encode Event Stream
+// messages to an io.Writer.
+func NewEncoder(w io.Writer) *Encoder {
+ return &Encoder{
+ w: w,
+ headersBuf: bytes.NewBuffer(nil),
+ }
+}
+
+// Encode encodes a single EventStream message to the io.Writer the Encoder
+// was created with. An error is returned if writing the message fails.
+func (e *Encoder) Encode(msg Message) error {
+ e.headersBuf.Reset()
+
+ err := encodeHeaders(e.headersBuf, msg.Headers)
+ if err != nil {
+ return err
+ }
+
+ crc := crc32.New(crc32IEEETable)
+ hashWriter := io.MultiWriter(e.w, crc)
+
+ headersLen := uint32(e.headersBuf.Len())
+ payloadLen := uint32(len(msg.Payload))
+
+ if err := encodePrelude(hashWriter, crc, headersLen, payloadLen); err != nil {
+ return err
+ }
+
+ if headersLen > 0 {
+ if _, err := io.Copy(hashWriter, e.headersBuf); err != nil {
+ return err
+ }
+ }
+
+ if payloadLen > 0 {
+ if _, err := hashWriter.Write(msg.Payload); err != nil {
+ return err
+ }
+ }
+
+ msgCRC := crc.Sum32()
+ return binary.Write(e.w, binary.BigEndian, msgCRC)
+}
+
+func encodePrelude(w io.Writer, crc hash.Hash32, headersLen, payloadLen uint32) error {
+ p := messagePrelude{
+ Length: minMsgLen + headersLen + payloadLen,
+ HeadersLen: headersLen,
+ }
+ if err := p.ValidateLens(); err != nil {
+ return err
+ }
+
+ err := binaryWriteFields(w, binary.BigEndian,
+ p.Length,
+ p.HeadersLen,
+ )
+ if err != nil {
+ return err
+ }
+
+ p.PreludeCRC = crc.Sum32()
+ err = binary.Write(w, binary.BigEndian, p.PreludeCRC)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func encodeHeaders(w io.Writer, headers Headers) error {
+ for _, h := range headers {
+ hn := headerName{
+ Len: uint8(len(h.Name)),
+ }
+ copy(hn.Name[:hn.Len], h.Name)
+ if err := hn.encode(w); err != nil {
+ return err
+ }
+
+ if err := h.Value.encode(w); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func binaryWriteFields(w io.Writer, order binary.ByteOrder, vs ...interface{}) error {
+ for _, v := range vs {
+ if err := binary.Write(w, order, v); err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go
new file mode 100644
index 0000000000..5481ef3079
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go
@@ -0,0 +1,23 @@
+package eventstream
+
+import "fmt"
+
+// LengthError provides the error for items being larger than a maximum length.
+type LengthError struct {
+ Part string
+ Want int
+ Have int
+ Value interface{}
+}
+
+func (e LengthError) Error() string {
+ return fmt.Sprintf("%s length invalid, %d/%d, %v",
+ e.Part, e.Want, e.Have, e.Value)
+}
+
+// ChecksumError provides the error for message checksum invalidation errors.
+type ChecksumError struct{}
+
+func (e ChecksumError) Error() string {
+ return "message checksum mismatch"
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go
new file mode 100644
index 0000000000..97937c8e59
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go
@@ -0,0 +1,196 @@
+package eventstreamapi
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/private/protocol"
+ "github.com/aws/aws-sdk-go/private/protocol/eventstream"
+)
+
+// Unmarshaler provides the interface for unmarshaling a EventStream
+// message into a SDK type.
+type Unmarshaler interface {
+ UnmarshalEvent(protocol.PayloadUnmarshaler, eventstream.Message) error
+}
+
+// EventStream headers with specific meaning to async API functionality.
+const (
+ MessageTypeHeader = `:message-type` // Identifies type of message.
+ EventMessageType = `event`
+ ErrorMessageType = `error`
+ ExceptionMessageType = `exception`
+
+ // Message Events
+ EventTypeHeader = `:event-type` // Identifies message event type e.g. "Stats".
+
+ // Message Error
+ ErrorCodeHeader = `:error-code`
+ ErrorMessageHeader = `:error-message`
+
+ // Message Exception
+ ExceptionTypeHeader = `:exception-type`
+)
+
+// EventReader provides reading from the EventStream of an reader.
+type EventReader struct {
+ reader io.ReadCloser
+ decoder *eventstream.Decoder
+
+ unmarshalerForEventType func(string) (Unmarshaler, error)
+ payloadUnmarshaler protocol.PayloadUnmarshaler
+
+ payloadBuf []byte
+}
+
+// NewEventReader returns a EventReader built from the reader and unmarshaler
+// provided. Use ReadStream method to start reading from the EventStream.
+func NewEventReader(
+ reader io.ReadCloser,
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ unmarshalerForEventType func(string) (Unmarshaler, error),
+) *EventReader {
+ return &EventReader{
+ reader: reader,
+ decoder: eventstream.NewDecoder(reader),
+ payloadUnmarshaler: payloadUnmarshaler,
+ unmarshalerForEventType: unmarshalerForEventType,
+ payloadBuf: make([]byte, 10*1024),
+ }
+}
+
+// UseLogger instructs the EventReader to use the logger and log level
+// specified.
+func (r *EventReader) UseLogger(logger aws.Logger, logLevel aws.LogLevelType) {
+ if logger != nil && logLevel.Matches(aws.LogDebugWithEventStreamBody) {
+ r.decoder.UseLogger(logger)
+ }
+}
+
+// ReadEvent attempts to read a message from the EventStream and return the
+// unmarshaled event value that the message is for.
+//
+// For EventStream API errors check if the returned error satisfies the
+// awserr.Error interface to get the error's Code and Message components.
+//
+// EventUnmarshalers called with EventStream messages must take copies of the
+// message's Payload. The payload will is reused between events read.
+func (r *EventReader) ReadEvent() (event interface{}, err error) {
+ msg, err := r.decoder.Decode(r.payloadBuf)
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ // Reclaim payload buffer for next message read.
+ r.payloadBuf = msg.Payload[0:0]
+ }()
+
+ typ, err := GetHeaderString(msg, MessageTypeHeader)
+ if err != nil {
+ return nil, err
+ }
+
+ switch typ {
+ case EventMessageType:
+ return r.unmarshalEventMessage(msg)
+ case ExceptionMessageType:
+ err = r.unmarshalEventException(msg)
+ return nil, err
+ case ErrorMessageType:
+ return nil, r.unmarshalErrorMessage(msg)
+ default:
+ return nil, fmt.Errorf("unknown eventstream message type, %v", typ)
+ }
+}
+
+func (r *EventReader) unmarshalEventMessage(
+ msg eventstream.Message,
+) (event interface{}, err error) {
+ eventType, err := GetHeaderString(msg, EventTypeHeader)
+ if err != nil {
+ return nil, err
+ }
+
+ ev, err := r.unmarshalerForEventType(eventType)
+ if err != nil {
+ return nil, err
+ }
+
+ err = ev.UnmarshalEvent(r.payloadUnmarshaler, msg)
+ if err != nil {
+ return nil, err
+ }
+
+ return ev, nil
+}
+
+func (r *EventReader) unmarshalEventException(
+ msg eventstream.Message,
+) (err error) {
+ eventType, err := GetHeaderString(msg, ExceptionTypeHeader)
+ if err != nil {
+ return err
+ }
+
+ ev, err := r.unmarshalerForEventType(eventType)
+ if err != nil {
+ return err
+ }
+
+ err = ev.UnmarshalEvent(r.payloadUnmarshaler, msg)
+ if err != nil {
+ return err
+ }
+
+ var ok bool
+ err, ok = ev.(error)
+ if !ok {
+ err = messageError{
+ code: "SerializationError",
+ msg: fmt.Sprintf(
+ "event stream exception %s mapped to non-error %T, %v",
+ eventType, ev, ev,
+ ),
+ }
+ }
+
+ return err
+}
+
+func (r *EventReader) unmarshalErrorMessage(msg eventstream.Message) (err error) {
+ var msgErr messageError
+
+ msgErr.code, err = GetHeaderString(msg, ErrorCodeHeader)
+ if err != nil {
+ return err
+ }
+
+ msgErr.msg, err = GetHeaderString(msg, ErrorMessageHeader)
+ if err != nil {
+ return err
+ }
+
+ return msgErr
+}
+
+// Close closes the EventReader's EventStream reader.
+func (r *EventReader) Close() error {
+ return r.reader.Close()
+}
+
+// GetHeaderString returns the value of the header as a string. If the header
+// is not set or the value is not a string an error will be returned.
+func GetHeaderString(msg eventstream.Message, headerName string) (string, error) {
+ headerVal := msg.Headers.Get(headerName)
+ if headerVal == nil {
+ return "", fmt.Errorf("error header %s not present", headerName)
+ }
+
+ v, ok := headerVal.Get().(string)
+ if !ok {
+ return "", fmt.Errorf("error header value is not a string, %T", headerVal)
+ }
+
+ return v, nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go
new file mode 100644
index 0000000000..5ea5a988b6
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go
@@ -0,0 +1,24 @@
+package eventstreamapi
+
+import "fmt"
+
+type messageError struct {
+ code string
+ msg string
+}
+
+func (e messageError) Code() string {
+ return e.code
+}
+
+func (e messageError) Message() string {
+ return e.msg
+}
+
+func (e messageError) Error() string {
+ return fmt.Sprintf("%s: %s", e.code, e.msg)
+}
+
+func (e messageError) OrigErr() error {
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go
new file mode 100644
index 0000000000..3b44dde2f3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go
@@ -0,0 +1,166 @@
+package eventstream
+
+import (
+ "encoding/binary"
+ "fmt"
+ "io"
+)
+
+// Headers are a collection of EventStream header values.
+type Headers []Header
+
+// Header is a single EventStream Key Value header pair.
+type Header struct {
+ Name string
+ Value Value
+}
+
+// Set associates the name with a value. If the header name already exists in
+// the Headers the value will be replaced with the new one.
+func (hs *Headers) Set(name string, value Value) {
+ var i int
+ for ; i < len(*hs); i++ {
+ if (*hs)[i].Name == name {
+ (*hs)[i].Value = value
+ return
+ }
+ }
+
+ *hs = append(*hs, Header{
+ Name: name, Value: value,
+ })
+}
+
+// Get returns the Value associated with the header. Nil is returned if the
+// value does not exist.
+func (hs Headers) Get(name string) Value {
+ for i := 0; i < len(hs); i++ {
+ if h := hs[i]; h.Name == name {
+ return h.Value
+ }
+ }
+ return nil
+}
+
+// Del deletes the value in the Headers if it exists.
+func (hs *Headers) Del(name string) {
+ for i := 0; i < len(*hs); i++ {
+ if (*hs)[i].Name == name {
+ copy((*hs)[i:], (*hs)[i+1:])
+ (*hs) = (*hs)[:len(*hs)-1]
+ }
+ }
+}
+
+func decodeHeaders(r io.Reader) (Headers, error) {
+ hs := Headers{}
+
+ for {
+ name, err := decodeHeaderName(r)
+ if err != nil {
+ if err == io.EOF {
+ // EOF while getting header name means no more headers
+ break
+ }
+ return nil, err
+ }
+
+ value, err := decodeHeaderValue(r)
+ if err != nil {
+ return nil, err
+ }
+
+ hs.Set(name, value)
+ }
+
+ return hs, nil
+}
+
+func decodeHeaderName(r io.Reader) (string, error) {
+ var n headerName
+
+ var err error
+ n.Len, err = decodeUint8(r)
+ if err != nil {
+ return "", err
+ }
+
+ name := n.Name[:n.Len]
+ if _, err := io.ReadFull(r, name); err != nil {
+ return "", err
+ }
+
+ return string(name), nil
+}
+
+func decodeHeaderValue(r io.Reader) (Value, error) {
+ var raw rawValue
+
+ typ, err := decodeUint8(r)
+ if err != nil {
+ return nil, err
+ }
+ raw.Type = valueType(typ)
+
+ var v Value
+
+ switch raw.Type {
+ case trueValueType:
+ v = BoolValue(true)
+ case falseValueType:
+ v = BoolValue(false)
+ case int8ValueType:
+ var tv Int8Value
+ err = tv.decode(r)
+ v = tv
+ case int16ValueType:
+ var tv Int16Value
+ err = tv.decode(r)
+ v = tv
+ case int32ValueType:
+ var tv Int32Value
+ err = tv.decode(r)
+ v = tv
+ case int64ValueType:
+ var tv Int64Value
+ err = tv.decode(r)
+ v = tv
+ case bytesValueType:
+ var tv BytesValue
+ err = tv.decode(r)
+ v = tv
+ case stringValueType:
+ var tv StringValue
+ err = tv.decode(r)
+ v = tv
+ case timestampValueType:
+ var tv TimestampValue
+ err = tv.decode(r)
+ v = tv
+ case uuidValueType:
+ var tv UUIDValue
+ err = tv.decode(r)
+ v = tv
+ default:
+ panic(fmt.Sprintf("unknown value type %d", raw.Type))
+ }
+
+ // Error could be EOF, let caller deal with it
+ return v, err
+}
+
+const maxHeaderNameLen = 255
+
+type headerName struct {
+ Len uint8
+ Name [maxHeaderNameLen]byte
+}
+
+func (v headerName) encode(w io.Writer) error {
+ if err := binary.Write(w, binary.BigEndian, v.Len); err != nil {
+ return err
+ }
+
+ _, err := w.Write(v.Name[:v.Len])
+ return err
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go
new file mode 100644
index 0000000000..d7786f92ce
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go
@@ -0,0 +1,501 @@
+package eventstream
+
+import (
+ "encoding/base64"
+ "encoding/binary"
+ "fmt"
+ "io"
+ "strconv"
+ "time"
+)
+
+const maxHeaderValueLen = 1<<15 - 1 // 2^15-1 or 32KB - 1
+
+// valueType is the EventStream header value type.
+type valueType uint8
+
+// Header value types
+const (
+ trueValueType valueType = iota
+ falseValueType
+ int8ValueType // Byte
+ int16ValueType // Short
+ int32ValueType // Integer
+ int64ValueType // Long
+ bytesValueType
+ stringValueType
+ timestampValueType
+ uuidValueType
+)
+
+func (t valueType) String() string {
+ switch t {
+ case trueValueType:
+ return "bool"
+ case falseValueType:
+ return "bool"
+ case int8ValueType:
+ return "int8"
+ case int16ValueType:
+ return "int16"
+ case int32ValueType:
+ return "int32"
+ case int64ValueType:
+ return "int64"
+ case bytesValueType:
+ return "byte_array"
+ case stringValueType:
+ return "string"
+ case timestampValueType:
+ return "timestamp"
+ case uuidValueType:
+ return "uuid"
+ default:
+ return fmt.Sprintf("unknown value type %d", uint8(t))
+ }
+}
+
+type rawValue struct {
+ Type valueType
+ Len uint16 // Only set for variable length slices
+ Value []byte // byte representation of value, BigEndian encoding.
+}
+
+func (r rawValue) encodeScalar(w io.Writer, v interface{}) error {
+ return binaryWriteFields(w, binary.BigEndian,
+ r.Type,
+ v,
+ )
+}
+
+func (r rawValue) encodeFixedSlice(w io.Writer, v []byte) error {
+ binary.Write(w, binary.BigEndian, r.Type)
+
+ _, err := w.Write(v)
+ return err
+}
+
+func (r rawValue) encodeBytes(w io.Writer, v []byte) error {
+ if len(v) > maxHeaderValueLen {
+ return LengthError{
+ Part: "header value",
+ Want: maxHeaderValueLen, Have: len(v),
+ Value: v,
+ }
+ }
+ r.Len = uint16(len(v))
+
+ err := binaryWriteFields(w, binary.BigEndian,
+ r.Type,
+ r.Len,
+ )
+ if err != nil {
+ return err
+ }
+
+ _, err = w.Write(v)
+ return err
+}
+
+func (r rawValue) encodeString(w io.Writer, v string) error {
+ if len(v) > maxHeaderValueLen {
+ return LengthError{
+ Part: "header value",
+ Want: maxHeaderValueLen, Have: len(v),
+ Value: v,
+ }
+ }
+ r.Len = uint16(len(v))
+
+ type stringWriter interface {
+ WriteString(string) (int, error)
+ }
+
+ err := binaryWriteFields(w, binary.BigEndian,
+ r.Type,
+ r.Len,
+ )
+ if err != nil {
+ return err
+ }
+
+ if sw, ok := w.(stringWriter); ok {
+ _, err = sw.WriteString(v)
+ } else {
+ _, err = w.Write([]byte(v))
+ }
+
+ return err
+}
+
+func decodeFixedBytesValue(r io.Reader, buf []byte) error {
+ _, err := io.ReadFull(r, buf)
+ return err
+}
+
+func decodeBytesValue(r io.Reader) ([]byte, error) {
+ var raw rawValue
+ var err error
+ raw.Len, err = decodeUint16(r)
+ if err != nil {
+ return nil, err
+ }
+
+ buf := make([]byte, raw.Len)
+ _, err = io.ReadFull(r, buf)
+ if err != nil {
+ return nil, err
+ }
+
+ return buf, nil
+}
+
+func decodeStringValue(r io.Reader) (string, error) {
+ v, err := decodeBytesValue(r)
+ return string(v), err
+}
+
+// Value represents the abstract header value.
+type Value interface {
+ Get() interface{}
+ String() string
+ valueType() valueType
+ encode(io.Writer) error
+}
+
+// An BoolValue provides eventstream encoding, and representation
+// of a Go bool value.
+type BoolValue bool
+
+// Get returns the underlying type
+func (v BoolValue) Get() interface{} {
+ return bool(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (v BoolValue) valueType() valueType {
+ if v {
+ return trueValueType
+ }
+ return falseValueType
+}
+
+func (v BoolValue) String() string {
+ return strconv.FormatBool(bool(v))
+}
+
+// encode encodes the BoolValue into an eventstream binary value
+// representation.
+func (v BoolValue) encode(w io.Writer) error {
+ return binary.Write(w, binary.BigEndian, v.valueType())
+}
+
+// An Int8Value provides eventstream encoding, and representation of a Go
+// int8 value.
+type Int8Value int8
+
+// Get returns the underlying value.
+func (v Int8Value) Get() interface{} {
+ return int8(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (Int8Value) valueType() valueType {
+ return int8ValueType
+}
+
+func (v Int8Value) String() string {
+ return fmt.Sprintf("0x%02x", int8(v))
+}
+
+// encode encodes the Int8Value into an eventstream binary value
+// representation.
+func (v Int8Value) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+
+ return raw.encodeScalar(w, v)
+}
+
+func (v *Int8Value) decode(r io.Reader) error {
+ n, err := decodeUint8(r)
+ if err != nil {
+ return err
+ }
+
+ *v = Int8Value(n)
+ return nil
+}
+
+// An Int16Value provides eventstream encoding, and representation of a Go
+// int16 value.
+type Int16Value int16
+
+// Get returns the underlying value.
+func (v Int16Value) Get() interface{} {
+ return int16(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (Int16Value) valueType() valueType {
+ return int16ValueType
+}
+
+func (v Int16Value) String() string {
+ return fmt.Sprintf("0x%04x", int16(v))
+}
+
+// encode encodes the Int16Value into an eventstream binary value
+// representation.
+func (v Int16Value) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+ return raw.encodeScalar(w, v)
+}
+
+func (v *Int16Value) decode(r io.Reader) error {
+ n, err := decodeUint16(r)
+ if err != nil {
+ return err
+ }
+
+ *v = Int16Value(n)
+ return nil
+}
+
+// An Int32Value provides eventstream encoding, and representation of a Go
+// int32 value.
+type Int32Value int32
+
+// Get returns the underlying value.
+func (v Int32Value) Get() interface{} {
+ return int32(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (Int32Value) valueType() valueType {
+ return int32ValueType
+}
+
+func (v Int32Value) String() string {
+ return fmt.Sprintf("0x%08x", int32(v))
+}
+
+// encode encodes the Int32Value into an eventstream binary value
+// representation.
+func (v Int32Value) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+ return raw.encodeScalar(w, v)
+}
+
+func (v *Int32Value) decode(r io.Reader) error {
+ n, err := decodeUint32(r)
+ if err != nil {
+ return err
+ }
+
+ *v = Int32Value(n)
+ return nil
+}
+
+// An Int64Value provides eventstream encoding, and representation of a Go
+// int64 value.
+type Int64Value int64
+
+// Get returns the underlying value.
+func (v Int64Value) Get() interface{} {
+ return int64(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (Int64Value) valueType() valueType {
+ return int64ValueType
+}
+
+func (v Int64Value) String() string {
+ return fmt.Sprintf("0x%016x", int64(v))
+}
+
+// encode encodes the Int64Value into an eventstream binary value
+// representation.
+func (v Int64Value) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+ return raw.encodeScalar(w, v)
+}
+
+func (v *Int64Value) decode(r io.Reader) error {
+ n, err := decodeUint64(r)
+ if err != nil {
+ return err
+ }
+
+ *v = Int64Value(n)
+ return nil
+}
+
+// An BytesValue provides eventstream encoding, and representation of a Go
+// byte slice.
+type BytesValue []byte
+
+// Get returns the underlying value.
+func (v BytesValue) Get() interface{} {
+ return []byte(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (BytesValue) valueType() valueType {
+ return bytesValueType
+}
+
+func (v BytesValue) String() string {
+ return base64.StdEncoding.EncodeToString([]byte(v))
+}
+
+// encode encodes the BytesValue into an eventstream binary value
+// representation.
+func (v BytesValue) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+
+ return raw.encodeBytes(w, []byte(v))
+}
+
+func (v *BytesValue) decode(r io.Reader) error {
+ buf, err := decodeBytesValue(r)
+ if err != nil {
+ return err
+ }
+
+ *v = BytesValue(buf)
+ return nil
+}
+
+// An StringValue provides eventstream encoding, and representation of a Go
+// string.
+type StringValue string
+
+// Get returns the underlying value.
+func (v StringValue) Get() interface{} {
+ return string(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (StringValue) valueType() valueType {
+ return stringValueType
+}
+
+func (v StringValue) String() string {
+ return string(v)
+}
+
+// encode encodes the StringValue into an eventstream binary value
+// representation.
+func (v StringValue) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+
+ return raw.encodeString(w, string(v))
+}
+
+func (v *StringValue) decode(r io.Reader) error {
+ s, err := decodeStringValue(r)
+ if err != nil {
+ return err
+ }
+
+ *v = StringValue(s)
+ return nil
+}
+
+// An TimestampValue provides eventstream encoding, and representation of a Go
+// timestamp.
+type TimestampValue time.Time
+
+// Get returns the underlying value.
+func (v TimestampValue) Get() interface{} {
+ return time.Time(v)
+}
+
+// valueType returns the EventStream header value type value.
+func (TimestampValue) valueType() valueType {
+ return timestampValueType
+}
+
+func (v TimestampValue) epochMilli() int64 {
+ nano := time.Time(v).UnixNano()
+ msec := nano / int64(time.Millisecond)
+ return msec
+}
+
+func (v TimestampValue) String() string {
+ msec := v.epochMilli()
+ return strconv.FormatInt(msec, 10)
+}
+
+// encode encodes the TimestampValue into an eventstream binary value
+// representation.
+func (v TimestampValue) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+
+ msec := v.epochMilli()
+ return raw.encodeScalar(w, msec)
+}
+
+func (v *TimestampValue) decode(r io.Reader) error {
+ n, err := decodeUint64(r)
+ if err != nil {
+ return err
+ }
+
+ *v = TimestampValue(timeFromEpochMilli(int64(n)))
+ return nil
+}
+
+func timeFromEpochMilli(t int64) time.Time {
+ secs := t / 1e3
+ msec := t % 1e3
+ return time.Unix(secs, msec*int64(time.Millisecond))
+}
+
+// An UUIDValue provides eventstream encoding, and representation of a UUID
+// value.
+type UUIDValue [16]byte
+
+// Get returns the underlying value.
+func (v UUIDValue) Get() interface{} {
+ return v[:]
+}
+
+// valueType returns the EventStream header value type value.
+func (UUIDValue) valueType() valueType {
+ return uuidValueType
+}
+
+func (v UUIDValue) String() string {
+ return fmt.Sprintf(`%X-%X-%X-%X-%X`, v[0:4], v[4:6], v[6:8], v[8:10], v[10:])
+}
+
+// encode encodes the UUIDValue into an eventstream binary value
+// representation.
+func (v UUIDValue) encode(w io.Writer) error {
+ raw := rawValue{
+ Type: v.valueType(),
+ }
+
+ return raw.encodeFixedSlice(w, v[:])
+}
+
+func (v *UUIDValue) decode(r io.Reader) error {
+ tv := (*v)[:]
+ return decodeFixedBytesValue(r, tv)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go
new file mode 100644
index 0000000000..2dc012a66e
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go
@@ -0,0 +1,103 @@
+package eventstream
+
+import (
+ "bytes"
+ "encoding/binary"
+ "hash/crc32"
+)
+
+const preludeLen = 8
+const preludeCRCLen = 4
+const msgCRCLen = 4
+const minMsgLen = preludeLen + preludeCRCLen + msgCRCLen
+const maxPayloadLen = 1024 * 1024 * 16 // 16MB
+const maxHeadersLen = 1024 * 128 // 128KB
+const maxMsgLen = minMsgLen + maxHeadersLen + maxPayloadLen
+
+var crc32IEEETable = crc32.MakeTable(crc32.IEEE)
+
+// A Message provides the eventstream message representation.
+type Message struct {
+ Headers Headers
+ Payload []byte
+}
+
+func (m *Message) rawMessage() (rawMessage, error) {
+ var raw rawMessage
+
+ if len(m.Headers) > 0 {
+ var headers bytes.Buffer
+ if err := encodeHeaders(&headers, m.Headers); err != nil {
+ return rawMessage{}, err
+ }
+ raw.Headers = headers.Bytes()
+ raw.HeadersLen = uint32(len(raw.Headers))
+ }
+
+ raw.Length = raw.HeadersLen + uint32(len(m.Payload)) + minMsgLen
+
+ hash := crc32.New(crc32IEEETable)
+ binaryWriteFields(hash, binary.BigEndian, raw.Length, raw.HeadersLen)
+ raw.PreludeCRC = hash.Sum32()
+
+ binaryWriteFields(hash, binary.BigEndian, raw.PreludeCRC)
+
+ if raw.HeadersLen > 0 {
+ hash.Write(raw.Headers)
+ }
+
+ // Read payload bytes and update hash for it as well.
+ if len(m.Payload) > 0 {
+ raw.Payload = m.Payload
+ hash.Write(raw.Payload)
+ }
+
+ raw.CRC = hash.Sum32()
+
+ return raw, nil
+}
+
+type messagePrelude struct {
+ Length uint32
+ HeadersLen uint32
+ PreludeCRC uint32
+}
+
+func (p messagePrelude) PayloadLen() uint32 {
+ return p.Length - p.HeadersLen - minMsgLen
+}
+
+func (p messagePrelude) ValidateLens() error {
+ if p.Length == 0 || p.Length > maxMsgLen {
+ return LengthError{
+ Part: "message prelude",
+ Want: maxMsgLen,
+ Have: int(p.Length),
+ }
+ }
+ if p.HeadersLen > maxHeadersLen {
+ return LengthError{
+ Part: "message headers",
+ Want: maxHeadersLen,
+ Have: int(p.HeadersLen),
+ }
+ }
+ if payloadLen := p.PayloadLen(); payloadLen > maxPayloadLen {
+ return LengthError{
+ Part: "message payload",
+ Want: maxPayloadLen,
+ Have: int(payloadLen),
+ }
+ }
+
+ return nil
+}
+
+type rawMessage struct {
+ messagePrelude
+
+ Headers []byte
+ Payload []byte
+
+ CRC uint32
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go
new file mode 100644
index 0000000000..7bdf4c8538
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go
@@ -0,0 +1,69 @@
+// Package restxml provides RESTful XML serialization of AWS
+// requests and responses.
+package restxml
+
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-xml.json build_test.go
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-xml.json unmarshal_test.go
+
+import (
+ "bytes"
+ "encoding/xml"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/private/protocol/query"
+ "github.com/aws/aws-sdk-go/private/protocol/rest"
+ "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil"
+)
+
+// BuildHandler is a named request handler for building restxml protocol requests
+var BuildHandler = request.NamedHandler{Name: "awssdk.restxml.Build", Fn: Build}
+
+// UnmarshalHandler is a named request handler for unmarshaling restxml protocol requests
+var UnmarshalHandler = request.NamedHandler{Name: "awssdk.restxml.Unmarshal", Fn: Unmarshal}
+
+// UnmarshalMetaHandler is a named request handler for unmarshaling restxml protocol request metadata
+var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.restxml.UnmarshalMeta", Fn: UnmarshalMeta}
+
+// UnmarshalErrorHandler is a named request handler for unmarshaling restxml protocol request errors
+var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.restxml.UnmarshalError", Fn: UnmarshalError}
+
+// Build builds a request payload for the REST XML protocol.
+func Build(r *request.Request) {
+ rest.Build(r)
+
+ if t := rest.PayloadType(r.Params); t == "structure" || t == "" {
+ var buf bytes.Buffer
+ err := xmlutil.BuildXML(r.Params, xml.NewEncoder(&buf))
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed to encode rest XML request", err)
+ return
+ }
+ r.SetBufferBody(buf.Bytes())
+ }
+}
+
+// Unmarshal unmarshals a payload response for the REST XML protocol.
+func Unmarshal(r *request.Request) {
+ if t := rest.PayloadType(r.Data); t == "structure" || t == "" {
+ defer r.HTTPResponse.Body.Close()
+ decoder := xml.NewDecoder(r.HTTPResponse.Body)
+ err := xmlutil.UnmarshalXML(r.Data, decoder, "")
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed to decode REST XML response", err)
+ return
+ }
+ } else {
+ rest.Unmarshal(r)
+ }
+}
+
+// UnmarshalMeta unmarshals response headers for the REST XML protocol.
+func UnmarshalMeta(r *request.Request) {
+ rest.UnmarshalMeta(r)
+}
+
+// UnmarshalError unmarshals a response error for the REST XML protocol.
+func UnmarshalError(r *request.Request) {
+ query.UnmarshalError(r)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
new file mode 100644
index 0000000000..50f910deb0
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
@@ -0,0 +1,71648 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package ec2
+
+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/ec2query"
+)
+
+const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
+
+// AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
+// client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
+// req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(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/AcceptReservedInstancesExchangeQuote
+func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
+ op := &request.Operation{
+ Name: opAcceptReservedInstancesExchangeQuote,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AcceptReservedInstancesExchangeQuoteInput{}
+ }
+
+ output = &AcceptReservedInstancesExchangeQuoteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
+//
+// Accepts the Convertible Reserved Instance exchange quote described in the
+// GetReservedInstancesExchangeQuote call.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AcceptReservedInstancesExchangeQuote for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
+func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
+ return out, req.Send()
+}
+
+// AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
+
+// AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
+// client's request for the AcceptVpcEndpointConnections operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
+// req, resp := client.AcceptVpcEndpointConnectionsRequest(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/AcceptVpcEndpointConnections
+func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
+ op := &request.Operation{
+ Name: opAcceptVpcEndpointConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AcceptVpcEndpointConnectionsInput{}
+ }
+
+ output = &AcceptVpcEndpointConnectionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
+//
+// Accepts one or more interface VPC endpoint connection requests to your VPC
+// endpoint service.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AcceptVpcEndpointConnections for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
+func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
+ req, out := c.AcceptVpcEndpointConnectionsRequest(input)
+ return out, req.Send()
+}
+
+// AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptVpcEndpointConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
+ req, out := c.AcceptVpcEndpointConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
+
+// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the AcceptVpcPeeringConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
+// req, resp := client.AcceptVpcPeeringConnectionRequest(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/AcceptVpcPeeringConnection
+func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
+ op := &request.Operation{
+ Name: opAcceptVpcPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AcceptVpcPeeringConnectionInput{}
+ }
+
+ output = &AcceptVpcPeeringConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Accept a VPC peering connection request. To accept a request, the VPC peering
+// connection must be in the pending-acceptance state, and you must be the owner
+// of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
+// VPC peering connection requests.
+//
+// For an inter-region VPC peering connection request, you must accept the VPC
+// peering connection in the region of the accepter 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 Elastic Compute Cloud's
+// API operation AcceptVpcPeeringConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
+func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
+ req, out := c.AcceptVpcPeeringConnectionRequest(input)
+ return out, req.Send()
+}
+
+// AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
+ req, out := c.AcceptVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAllocateAddress = "AllocateAddress"
+
+// AllocateAddressRequest generates a "aws/request.Request" representing the
+// client's request for the AllocateAddress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AllocateAddress for more information on using the AllocateAddress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AllocateAddressRequest method.
+// req, resp := client.AllocateAddressRequest(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/AllocateAddress
+func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
+ op := &request.Operation{
+ Name: opAllocateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AllocateAddressInput{}
+ }
+
+ output = &AllocateAddressOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AllocateAddress API operation for Amazon Elastic Compute Cloud.
+//
+// Allocates an Elastic IP address.
+//
+// An Elastic IP address is for use either in the EC2-Classic platform or in
+// 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.
+//
+// If you release an Elastic IP address for use in a VPC, you might be able
+// to recover it. To recover an Elastic IP address that you released, specify
+// it in the Address parameter. Note that you cannot recover an Elastic IP address
+// that you released after it is allocated to another AWS account.
+//
+// For more information, see Elastic IP Addresses (http://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
+// 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 AllocateAddress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
+func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
+ req, out := c.AllocateAddressRequest(input)
+ return out, req.Send()
+}
+
+// AllocateAddressWithContext is the same as AllocateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AllocateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
+ req, out := c.AllocateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAllocateHosts = "AllocateHosts"
+
+// AllocateHostsRequest generates a "aws/request.Request" representing the
+// client's request for the AllocateHosts operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AllocateHosts for more information on using the AllocateHosts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AllocateHostsRequest method.
+// req, resp := client.AllocateHostsRequest(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/AllocateHosts
+func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
+ op := &request.Operation{
+ Name: opAllocateHosts,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AllocateHostsInput{}
+ }
+
+ output = &AllocateHostsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AllocateHosts API operation for Amazon Elastic Compute Cloud.
+//
+// Allocates a Dedicated Host to your account. At a minimum, specify the instance
+// size type, Availability Zone, and quantity of hosts to allocate.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AllocateHosts for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
+func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
+ req, out := c.AllocateHostsRequest(input)
+ return out, req.Send()
+}
+
+// AllocateHostsWithContext is the same as AllocateHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AllocateHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
+ req, out := c.AllocateHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssignIpv6Addresses = "AssignIpv6Addresses"
+
+// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
+// client's request for the AssignIpv6Addresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssignIpv6AddressesRequest method.
+// req, resp := client.AssignIpv6AddressesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
+func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
+ op := &request.Operation{
+ Name: opAssignIpv6Addresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssignIpv6AddressesInput{}
+ }
+
+ output = &AssignIpv6AddressesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
+//
+// Assigns one or more IPv6 addresses to the specified network interface. You
+// can specify one or more specific IPv6 addresses, or you can specify the number
+// of IPv6 addresses to be automatically assigned from within the subnet's IPv6
+// CIDR block range. You can assign as many IPv6 addresses to a network interface
+// as you can assign private IPv4 addresses, and the limit varies per instance
+// type. For information, see IP Addresses Per Network Interface Per Instance
+// Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssignIpv6Addresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
+func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
+ req, out := c.AssignIpv6AddressesRequest(input)
+ return out, req.Send()
+}
+
+// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssignIpv6Addresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
+ req, out := c.AssignIpv6AddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
+
+// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
+// client's request for the AssignPrivateIpAddresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssignPrivateIpAddressesRequest method.
+// req, resp := client.AssignPrivateIpAddressesRequest(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/AssignPrivateIpAddresses
+func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
+ op := &request.Operation{
+ Name: opAssignPrivateIpAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssignPrivateIpAddressesInput{}
+ }
+
+ output = &AssignPrivateIpAddressesOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
+//
+// Assigns one or more secondary private IP addresses to the specified network
+// interface. You can specify one or more specific secondary IP addresses, or
+// you can specify 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)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// AssignPrivateIpAddresses is available only in EC2-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 Elastic Compute Cloud's
+// API operation AssignPrivateIpAddresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
+func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
+ req, out := c.AssignPrivateIpAddressesRequest(input)
+ return out, req.Send()
+}
+
+// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssignPrivateIpAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
+ req, out := c.AssignPrivateIpAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateAddress = "AssociateAddress"
+
+// AssociateAddressRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateAddress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateAddress for more information on using the AssociateAddress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateAddressRequest method.
+// req, resp := client.AssociateAddressRequest(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/AssociateAddress
+func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
+ op := &request.Operation{
+ Name: opAssociateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateAddressInput{}
+ }
+
+ output = &AssociateAddressOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateAddress API operation for Amazon Elastic Compute Cloud.
+//
+// Associates an Elastic IP address with an instance or a network interface.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
+// already associated with a different instance, it is disassociated from that
+// instance and associated with the specified instance. If you associate an
+// Elastic IP address with an instance that has an existing Elastic IP address,
+// the existing address is disassociated from the instance, but remains allocated
+// to your account.
+//
+// [VPC in an EC2-Classic account] If you don't specify a private IP address,
+// the Elastic IP address is associated with the primary IP address. If the
+// Elastic IP address is already associated with a different instance or a network
+// interface, you get an error unless you allow reassociation. You cannot associate
+// an Elastic IP address with an instance or network interface that has an existing
+// Elastic IP address.
+//
+// This is an idempotent operation. If you perform the operation more than once,
+// Amazon EC2 doesn't return an error, and you may be charged for each time
+// the Elastic IP address is remapped to the same instance. For more information,
+// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AssociateAddress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
+func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
+ req, out := c.AssociateAddressRequest(input)
+ return out, req.Send()
+}
+
+// AssociateAddressWithContext is the same as AssociateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
+ req, out := c.AssociateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateDhcpOptions = "AssociateDhcpOptions"
+
+// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateDhcpOptions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateDhcpOptionsRequest method.
+// req, resp := client.AssociateDhcpOptionsRequest(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/AssociateDhcpOptions
+func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
+ op := &request.Operation{
+ Name: opAssociateDhcpOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateDhcpOptionsInput{}
+ }
+
+ output = &AssociateDhcpOptionsOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
+//
+// Associates a set of DHCP options (that you've previously created) with the
+// specified VPC, or associates no DHCP options with the VPC.
+//
+// After you associate the options with the VPC, any existing instances and
+// all new instances that you launch in that VPC use the options. You don't
+// need to restart or relaunch the instances. They automatically pick up the
+// changes within a few hours, depending on how frequently the instance renews
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssociateDhcpOptions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
+func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
+ req, out := c.AssociateDhcpOptionsRequest(input)
+ return out, req.Send()
+}
+
+// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
+ req, out := c.AssociateDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
+
+// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateIamInstanceProfile operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateIamInstanceProfileRequest method.
+// req, resp := client.AssociateIamInstanceProfileRequest(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/AssociateIamInstanceProfile
+func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
+ op := &request.Operation{
+ Name: opAssociateIamInstanceProfile,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateIamInstanceProfileInput{}
+ }
+
+ output = &AssociateIamInstanceProfileOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
+//
+// Associates an IAM instance profile with a running or stopped instance. You
+// cannot associate more than one IAM instance profile with an instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssociateIamInstanceProfile for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
+func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
+ req, out := c.AssociateIamInstanceProfileRequest(input)
+ return out, req.Send()
+}
+
+// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateIamInstanceProfile for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
+ req, out := c.AssociateIamInstanceProfileRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateRouteTable = "AssociateRouteTable"
+
+// AssociateRouteTableRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateRouteTable operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateRouteTable for more information on using the AssociateRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateRouteTableRequest method.
+// req, resp := client.AssociateRouteTableRequest(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/AssociateRouteTable
+func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
+ op := &request.Operation{
+ Name: opAssociateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateRouteTableInput{}
+ }
+
+ output = &AssociateRouteTableOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
+//
+// Associates a subnet with a route table. The subnet and route table must be
+// in the same VPC. This association causes traffic originating from the subnet
+// to be routed according to the routes in the route table. The action returns
+// 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 about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AssociateRouteTable for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
+func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
+ req, out := c.AssociateRouteTableRequest(input)
+ return out, req.Send()
+}
+
+// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
+ req, out := c.AssociateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
+
+// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateSubnetCidrBlock operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateSubnetCidrBlockRequest method.
+// req, resp := client.AssociateSubnetCidrBlockRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
+func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
+ op := &request.Operation{
+ Name: opAssociateSubnetCidrBlock,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateSubnetCidrBlockInput{}
+ }
+
+ output = &AssociateSubnetCidrBlockOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
+//
+// Associates a CIDR block with your subnet. You can only associate a single
+// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
+// of /64.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssociateSubnetCidrBlock for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
+func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
+ req, out := c.AssociateSubnetCidrBlockRequest(input)
+ return out, req.Send()
+}
+
+// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateSubnetCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
+ req, out := c.AssociateSubnetCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
+
+// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateVpcCidrBlock operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateVpcCidrBlockRequest method.
+// req, resp := client.AssociateVpcCidrBlockRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
+func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
+ op := &request.Operation{
+ Name: opAssociateVpcCidrBlock,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateVpcCidrBlockInput{}
+ }
+
+ output = &AssociateVpcCidrBlockOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
+//
+// Associates a CIDR block with your VPC. You can associate a secondary IPv4
+// CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssociateVpcCidrBlock for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
+func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
+ req, out := c.AssociateVpcCidrBlockRequest(input)
+ return out, req.Send()
+}
+
+// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateVpcCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
+ req, out := c.AssociateVpcCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
+
+// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
+// client's request for the AttachClassicLinkVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AttachClassicLinkVpcRequest method.
+// req, resp := client.AttachClassicLinkVpcRequest(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/AttachClassicLinkVpc
+func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
+ op := &request.Operation{
+ Name: opAttachClassicLinkVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachClassicLinkVpcInput{}
+ }
+
+ output = &AttachClassicLinkVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
+// more of the VPC's security groups. You cannot link an EC2-Classic instance
+// to more than one VPC at a time. You can only link an instance that's in the
+// running state. An instance is automatically unlinked from a VPC when it's
+// stopped - you can link it to the VPC again when you restart it.
+//
+// After you've linked an instance, you cannot change the VPC security groups
+// that are associated with it. To change the security groups, you must first
+// unlink the instance, and then link it again.
+//
+// Linking your instance to a VPC is sometimes referred to as attaching your
+// instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AttachClassicLinkVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
+func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
+ req, out := c.AttachClassicLinkVpcRequest(input)
+ return out, req.Send()
+}
+
+// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachClassicLinkVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
+ req, out := c.AttachClassicLinkVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAttachInternetGateway = "AttachInternetGateway"
+
+// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the AttachInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AttachInternetGateway for more information on using the AttachInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AttachInternetGatewayRequest method.
+// req, resp := client.AttachInternetGatewayRequest(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/AttachInternetGateway
+func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opAttachInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachInternetGatewayInput{}
+ }
+
+ output = &AttachInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// 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/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AttachInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
+func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
+ req, out := c.AttachInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
+ req, out := c.AttachInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAttachNetworkInterface = "AttachNetworkInterface"
+
+// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
+// client's request for the AttachNetworkInterface operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AttachNetworkInterface for more information on using the AttachNetworkInterface
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AttachNetworkInterfaceRequest method.
+// req, resp := client.AttachNetworkInterfaceRequest(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/AttachNetworkInterface
+func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
+ op := &request.Operation{
+ Name: opAttachNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachNetworkInterfaceInput{}
+ }
+
+ output = &AttachNetworkInterfaceOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
+//
+// Attaches a network interface to an instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AttachNetworkInterface for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
+func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
+ req, out := c.AttachNetworkInterfaceRequest(input)
+ return out, req.Send()
+}
+
+// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
+ req, out := c.AttachNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ 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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/AttachVolume
+func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
+ op := &request.Operation{
+ Name: opAttachVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachVolumeInput{}
+ }
+
+ output = &VolumeAttachment{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AttachVolume API operation for Amazon Elastic Compute Cloud.
+//
+// Attaches an EBS volume to a running or stopped instance and exposes it to
+// 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)
+// 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).
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// If a volume has an AWS Marketplace product code:
+//
+// * The volume can be attached only to a stopped instance.
+//
+// * AWS Marketplace product codes are copied from the volume to the instance.
+//
+// * You must be subscribed to the product.
+//
+// * The instance type and operating system of the instance must support
+// the product. For example, you can't detach a volume from a Windows instance
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AttachVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
+func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, 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 *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
+ req, out := c.AttachVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAttachVpnGateway = "AttachVpnGateway"
+
+// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the AttachVpnGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AttachVpnGateway for more information on using the AttachVpnGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AttachVpnGatewayRequest method.
+// req, resp := client.AttachVpnGatewayRequest(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/AttachVpnGateway
+func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
+ op := &request.Operation{
+ Name: opAttachVpnGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachVpnGatewayInput{}
+ }
+
+ output = &AttachVpnGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AttachVpnGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
+func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
+ req, out := c.AttachVpnGatewayRequest(input)
+ return out, req.Send()
+}
+
+// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
+ req, out := c.AttachVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
+
+// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
+// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
+// req, resp := client.AuthorizeSecurityGroupEgressRequest(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/AuthorizeSecurityGroupEgress
+func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
+ op := &request.Operation{
+ Name: opAuthorizeSecurityGroupEgress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AuthorizeSecurityGroupEgressInput{}
+ }
+
+ output = &AuthorizeSecurityGroupEgressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
+//
+// [EC2-VPC only] Adds one or more egress rules to a security group for use
+// with a VPC. Specifically, this action permits instances to send traffic to
+// one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
+// destination security groups for the same VPC. This action doesn't apply to
+// security groups for use in EC2-Classic. For more information, see Security
+// Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
+// in the Amazon Virtual Private Cloud User Guide. For more information about
+// security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
+//
+// Each rule consists of the protocol (for example, TCP), plus either a CIDR
+// range or a source group. For the TCP and UDP protocols, you must also specify
+// the destination port or port range. For the ICMP protocol, you must also
+// specify the ICMP type and code. You can use -1 for the type or code to mean
+// all types or all codes. You can optionally specify a description for the
+// rule.
+//
+// Rule changes are propagated to affected instances as quickly as possible.
+// However, a small delay might occur.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AuthorizeSecurityGroupEgress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
+func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupEgressRequest(input)
+ return out, req.Send()
+}
+
+// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupEgressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
+
+// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
+// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
+// req, resp := client.AuthorizeSecurityGroupIngressRequest(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/AuthorizeSecurityGroupIngress
+func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
+ op := &request.Operation{
+ Name: opAuthorizeSecurityGroupIngress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AuthorizeSecurityGroupIngressInput{}
+ }
+
+ output = &AuthorizeSecurityGroupIngressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
+//
+// Adds one or more ingress rules to a security group.
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+//
+// [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
+// to access a security group in your account, or gives one or more security
+// groups (called the source groups) permission to access a security group for
+// your account. A source group can be for your own AWS account, or another.
+// You can have up to 100 rules per group.
+//
+// [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
+// permission to access a security group in your VPC, or gives one or more other
+// security groups (called the source groups) permission to access a security
+// group for your VPC. The security groups must all be for the same VPC or a
+// peer VPC in a VPC peering connection. For more information about VPC security
+// group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
+//
+// You can optionally specify a description for the security group 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 Elastic Compute Cloud's
+// API operation AuthorizeSecurityGroupIngress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
+func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupIngressRequest(input)
+ return out, req.Send()
+}
+
+// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupIngressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opBundleInstance = "BundleInstance"
+
+// BundleInstanceRequest generates a "aws/request.Request" representing the
+// client's request for the BundleInstance operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See BundleInstance for more information on using the BundleInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the BundleInstanceRequest method.
+// req, resp := client.BundleInstanceRequest(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/BundleInstance
+func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
+ op := &request.Operation{
+ Name: opBundleInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &BundleInstanceInput{}
+ }
+
+ output = &BundleInstanceOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// BundleInstance API operation for Amazon Elastic Compute Cloud.
+//
+// Bundles an Amazon instance store-backed Windows instance.
+//
+// During bundling, only the root device volume (C:\) is bundled. Data on other
+// instance store volumes is not preserved.
+//
+// This action is not applicable for Linux/Unix instances or Windows instances
+// that are backed by Amazon EBS.
+//
+// For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.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 Elastic Compute Cloud's
+// API operation BundleInstance for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
+func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
+ req, out := c.BundleInstanceRequest(input)
+ return out, req.Send()
+}
+
+// BundleInstanceWithContext is the same as BundleInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See BundleInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
+ req, out := c.BundleInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelBundleTask = "CancelBundleTask"
+
+// CancelBundleTaskRequest generates a "aws/request.Request" representing the
+// client's request for the CancelBundleTask operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelBundleTask for more information on using the CancelBundleTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelBundleTaskRequest method.
+// req, resp := client.CancelBundleTaskRequest(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/CancelBundleTask
+func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
+ op := &request.Operation{
+ Name: opCancelBundleTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelBundleTaskInput{}
+ }
+
+ output = &CancelBundleTaskOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels a bundling operation for an instance store-backed Windows instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CancelBundleTask for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
+func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
+ req, out := c.CancelBundleTaskRequest(input)
+ return out, req.Send()
+}
+
+// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelBundleTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
+ req, out := c.CancelBundleTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelConversionTask = "CancelConversionTask"
+
+// CancelConversionTaskRequest generates a "aws/request.Request" representing the
+// client's request for the CancelConversionTask operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelConversionTask for more information on using the CancelConversionTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelConversionTaskRequest method.
+// req, resp := client.CancelConversionTaskRequest(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/CancelConversionTask
+func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
+ op := &request.Operation{
+ Name: opCancelConversionTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelConversionTaskInput{}
+ }
+
+ output = &CancelConversionTaskOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels an active conversion task. The task can be the import of an instance
+// or volume. The action removes all artifacts of the conversion, including
+// a partially uploaded volume or instance. If the conversion is complete or
+// is in the process of transferring the final disk image, the command fails
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CancelConversionTask for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
+func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
+ req, out := c.CancelConversionTaskRequest(input)
+ return out, req.Send()
+}
+
+// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelConversionTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
+ req, out := c.CancelConversionTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelExportTask = "CancelExportTask"
+
+// CancelExportTaskRequest generates a "aws/request.Request" representing the
+// client's request for the CancelExportTask operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelExportTask for more information on using the CancelExportTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelExportTaskRequest method.
+// req, resp := client.CancelExportTaskRequest(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/CancelExportTask
+func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
+ op := &request.Operation{
+ Name: opCancelExportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelExportTaskInput{}
+ }
+
+ output = &CancelExportTaskOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CancelExportTask API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels an active export task. The request removes all artifacts of the export,
+// including any partially-created Amazon S3 objects. If the export task is
+// complete or is in the process of transferring the final disk image, the command
+// fails and returns 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 Elastic Compute Cloud's
+// API operation CancelExportTask for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
+func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
+ req, out := c.CancelExportTaskRequest(input)
+ return out, req.Send()
+}
+
+// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelExportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
+ req, out := c.CancelExportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelImportTask = "CancelImportTask"
+
+// CancelImportTaskRequest generates a "aws/request.Request" representing the
+// client's request for the CancelImportTask operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelImportTask for more information on using the CancelImportTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelImportTaskRequest method.
+// req, resp := client.CancelImportTaskRequest(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/CancelImportTask
+func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
+ op := &request.Operation{
+ Name: opCancelImportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelImportTaskInput{}
+ }
+
+ output = &CancelImportTaskOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CancelImportTask API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels an in-process import virtual machine or import snapshot task.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CancelImportTask for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
+func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
+ req, out := c.CancelImportTaskRequest(input)
+ return out, req.Send()
+}
+
+// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelImportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
+ req, out := c.CancelImportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
+
+// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
+// client's request for the CancelReservedInstancesListing operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelReservedInstancesListingRequest method.
+// req, resp := client.CancelReservedInstancesListingRequest(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/CancelReservedInstancesListing
+func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
+ op := &request.Operation{
+ Name: opCancelReservedInstancesListing,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelReservedInstancesListingInput{}
+ }
+
+ output = &CancelReservedInstancesListingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CancelReservedInstancesListing for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
+func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
+ req, out := c.CancelReservedInstancesListingRequest(input)
+ return out, req.Send()
+}
+
+// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelReservedInstancesListing for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
+ req, out := c.CancelReservedInstancesListingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
+
+// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
+// client's request for the CancelSpotFleetRequests operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelSpotFleetRequestsRequest method.
+// req, resp := client.CancelSpotFleetRequestsRequest(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/CancelSpotFleetRequests
+func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
+ op := &request.Operation{
+ Name: opCancelSpotFleetRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelSpotFleetRequestsInput{}
+ }
+
+ output = &CancelSpotFleetRequestsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels the specified Spot Fleet requests.
+//
+// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
+// Instances. You must specify whether the Spot Fleet should also terminate
+// its Spot Instances. If you terminate the instances, the Spot Fleet request
+// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
+// enters the cancelled_running state and the instances continue to run until
+// they are interrupted or you terminate them manually.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CancelSpotFleetRequests for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
+func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
+ req, out := c.CancelSpotFleetRequestsRequest(input)
+ return out, req.Send()
+}
+
+// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelSpotFleetRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
+ req, out := c.CancelSpotFleetRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
+
+// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
+// client's request for the CancelSpotInstanceRequests operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CancelSpotInstanceRequestsRequest method.
+// req, resp := client.CancelSpotInstanceRequestsRequest(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/CancelSpotInstanceRequests
+func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
+ op := &request.Operation{
+ Name: opCancelSpotInstanceRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelSpotInstanceRequestsInput{}
+ }
+
+ output = &CancelSpotInstanceRequestsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
+//
+// Cancels one or more Spot Instance requests.
+//
+// Canceling a Spot Instance request does not terminate running Spot Instances
+// associated with 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 Elastic Compute Cloud's
+// API operation CancelSpotInstanceRequests for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
+func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
+ req, out := c.CancelSpotInstanceRequestsRequest(input)
+ return out, req.Send()
+}
+
+// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelSpotInstanceRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
+ req, out := c.CancelSpotInstanceRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opConfirmProductInstance = "ConfirmProductInstance"
+
+// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
+// client's request for the ConfirmProductInstance operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ConfirmProductInstance for more information on using the ConfirmProductInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ConfirmProductInstanceRequest method.
+// req, resp := client.ConfirmProductInstanceRequest(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/ConfirmProductInstance
+func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
+ op := &request.Operation{
+ Name: opConfirmProductInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ConfirmProductInstanceInput{}
+ }
+
+ output = &ConfirmProductInstanceOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
+//
+// Determines whether a product code is associated with an instance. This action
+// can only be used by the owner of the product code. It is useful when a product
+// code owner must verify whether another user's instance is eligible for 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 Amazon Elastic Compute Cloud's
+// API operation ConfirmProductInstance for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
+func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
+ req, out := c.ConfirmProductInstanceRequest(input)
+ return out, req.Send()
+}
+
+// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ConfirmProductInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
+ req, out := c.ConfirmProductInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCopyFpgaImage = "CopyFpgaImage"
+
+// CopyFpgaImageRequest generates a "aws/request.Request" representing the
+// client's request for the CopyFpgaImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CopyFpgaImage for more information on using the CopyFpgaImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CopyFpgaImageRequest method.
+// req, resp := client.CopyFpgaImageRequest(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/CopyFpgaImage
+func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
+ op := &request.Operation{
+ Name: opCopyFpgaImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CopyFpgaImageInput{}
+ }
+
+ output = &CopyFpgaImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
+//
+// Copies the specified Amazon FPGA Image (AFI) to the current 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 Elastic Compute Cloud's
+// API operation CopyFpgaImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
+func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
+ req, out := c.CopyFpgaImageRequest(input)
+ return out, req.Send()
+}
+
+// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopyFpgaImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
+ req, out := c.CopyFpgaImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCopyImage = "CopyImage"
+
+// CopyImageRequest generates a "aws/request.Request" representing the
+// client's request for the CopyImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CopyImage for more information on using the CopyImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CopyImageRequest method.
+// req, resp := client.CopyImageRequest(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/CopyImage
+func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
+ op := &request.Operation{
+ Name: opCopyImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CopyImageInput{}
+ }
+
+ output = &CopyImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CopyImage API operation for Amazon Elastic Compute Cloud.
+//
+// Initiates the copy of an AMI from the specified source region to the current
+// region. You specify the destination region by using its endpoint when making
+// the request.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CopyImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
+func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
+ req, out := c.CopyImageRequest(input)
+ return out, req.Send()
+}
+
+// CopyImageWithContext is the same as CopyImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopyImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
+ req, out := c.CopyImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCopySnapshot = "CopySnapshot"
+
+// CopySnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the CopySnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CopySnapshot for more information on using the CopySnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CopySnapshotRequest method.
+// req, resp := client.CopySnapshotRequest(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/CopySnapshot
+func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
+ op := &request.Operation{
+ Name: opCopySnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CopySnapshotInput{}
+ }
+
+ output = &CopySnapshotOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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
+// 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.
+//
+// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
+// snapshots remain unencrypted, unless the Encrypted flag is specified during
+// the snapshot copy operation. By default, encrypted snapshot copies use the
+// default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
+// you can specify a non-default CMK with the KmsKeyId parameter.
+//
+// To copy an encrypted snapshot that has been shared from another account,
+// you must have permissions for the CMK used to encrypt the snapshot.
+//
+// Snapshots created by the CopySnapshot action 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CopySnapshot for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
+func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
+ req, out := c.CopySnapshotRequest(input)
+ return out, req.Send()
+}
+
+// CopySnapshotWithContext is the same as CopySnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopySnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
+ req, out := c.CopySnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateCustomerGateway = "CreateCustomerGateway"
+
+// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateCustomerGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateCustomerGateway for more information on using the CreateCustomerGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateCustomerGatewayRequest method.
+// req, resp := client.CreateCustomerGatewayRequest(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/CreateCustomerGateway
+func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateCustomerGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateCustomerGatewayInput{}
+ }
+
+ output = &CreateCustomerGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Provides information to AWS about your VPN customer gateway device. The customer
+// gateway is the appliance at your end of the VPN connection. (The device on
+// the AWS side of the VPN connection is the virtual private gateway.) You must
+// provide the Internet-routable IP address of the customer gateway's external
+// interface. The IP address must be static and may be behind a device performing
+// network address translation (NAT).
+//
+// For devices that use Border Gateway Protocol (BGP), you can also provide
+// the device's BGP Autonomous System Number (ASN). You can use an existing
+// ASN assigned to your network. If you don't have an ASN already, you can use
+// a private ASN (in the 64512 - 65534 range).
+//
+// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
+// the exception of 7224, which is reserved in the us-east-1 region, and 9059,
+// which is reserved in the eu-west-1 region.
+//
+// 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.
+//
+// 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
+// more than one time, the first request creates the customer gateway, and subsequent
+// requests return information about the existing customer gateway. The subsequent
+// requests do not create new customer gateway 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 Amazon Elastic Compute Cloud's
+// API operation CreateCustomerGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
+func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
+ req, out := c.CreateCustomerGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateCustomerGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
+ req, out := c.CreateCustomerGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateDefaultSubnet = "CreateDefaultSubnet"
+
+// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
+// client's request for the CreateDefaultSubnet operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateDefaultSubnetRequest method.
+// req, resp := client.CreateDefaultSubnetRequest(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/CreateDefaultSubnet
+func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
+ op := &request.Operation{
+ Name: opCreateDefaultSubnet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateDefaultSubnetInput{}
+ }
+
+ output = &CreateDefaultSubnetOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateDefaultSubnet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
+func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
+ req, out := c.CreateDefaultSubnetRequest(input)
+ return out, req.Send()
+}
+
+// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateDefaultSubnet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
+ req, out := c.CreateDefaultSubnetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateDefaultVpc = "CreateDefaultVpc"
+
+// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
+// client's request for the CreateDefaultVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateDefaultVpc for more information on using the CreateDefaultVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateDefaultVpcRequest method.
+// req, resp := client.CreateDefaultVpcRequest(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/CreateDefaultVpc
+func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
+ op := &request.Operation{
+ Name: opCreateDefaultVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateDefaultVpcInput{}
+ }
+
+ output = &CreateDefaultVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
+// of the default VPC yourself.
+//
+// You can create a default VPC if you deleted your previous default VPC. You
+// cannot have more than one default VPC per region.
+//
+// If your account supports EC2-Classic, you cannot use this action to create
+// a default VPC in a region that supports EC2-Classic. If you want a default
+// VPC in a region that supports EC2-Classic, see "I really want a default VPC
+// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateDefaultVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
+func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
+ req, out := c.CreateDefaultVpcRequest(input)
+ return out, req.Send()
+}
+
+// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateDefaultVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
+ req, out := c.CreateDefaultVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateDhcpOptions = "CreateDhcpOptions"
+
+// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
+// client's request for the CreateDhcpOptions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateDhcpOptions for more information on using the CreateDhcpOptions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateDhcpOptionsRequest method.
+// req, resp := client.CreateDhcpOptionsRequest(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/CreateDhcpOptions
+func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
+ op := &request.Operation{
+ Name: opCreateDhcpOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateDhcpOptionsInput{}
+ }
+
+ output = &CreateDhcpOptionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a set of DHCP options for your VPC. After creating the set, you must
+// associate it with the VPC, causing all existing and new instances that you
+// launch in the VPC to use this set of DHCP options. The following are the
+// individual DHCP options you can specify. For more information about the options,
+// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
+//
+// * domain-name-servers - The IP addresses of up to four domain name servers,
+// or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
+// If specifying more than one domain name server, specify the IP addresses
+// in a single parameter, separated by commas. If you want your instance
+// to receive a custom DNS hostname as specified in domain-name, you must
+// set domain-name-servers to a custom DNS server.
+//
+// * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
+// ec2.internal. If you're using AmazonProvidedDNS in another region, specify
+// region.compute.internal (for example, ap-northeast-1.compute.internal).
+// Otherwise, specify a domain name (for example, MyCompany.com). This value
+// is used to complete unqualified DNS hostnames. Important: Some Linux operating
+// systems accept multiple domain names separated by spaces. However, Windows
+// and other Linux operating systems treat the value as a single domain,
+// which results in unexpected behavior. If your DHCP options set is associated
+// with a VPC that has instances with multiple operating systems, specify
+// only one domain name.
+//
+// * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
+// servers.
+//
+// * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
+//
+// * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
+// that you specify 2 (broadcast and multicast are not currently supported).
+// For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
+//
+// Your VPC automatically starts out with a set of DHCP options that includes
+// 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 about DHCP options, see DHCP
+// Options Sets (http://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
+// 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 CreateDhcpOptions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
+func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
+ req, out := c.CreateDhcpOptionsRequest(input)
+ return out, req.Send()
+}
+
+// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
+ req, out := c.CreateDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
+
+// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
+// req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
+func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateEgressOnlyInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateEgressOnlyInternetGatewayInput{}
+ }
+
+ output = &CreateEgressOnlyInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
+// Internet gateway is used to enable outbound communication over IPv6 from
+// instances in your VPC to the Internet, and prevents hosts outside of your
+// VPC from initiating an IPv6 connection with your instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateEgressOnlyInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
+func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.CreateEgressOnlyInternetGatewayRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/CreateFleet
+func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
+ op := &request.Operation{
+ Name: opCreateFleet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateFleetInput{}
+ }
+
+ output = &CreateFleetOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateFleet API operation for Amazon Elastic Compute Cloud.
+//
+// Launches an EC2 Fleet.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateFleet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
+func (c *EC2) 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 *EC2) 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 opCreateFlowLogs = "CreateFlowLogs"
+
+// CreateFlowLogsRequest generates a "aws/request.Request" representing the
+// client's request for the CreateFlowLogs operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateFlowLogs for more information on using the CreateFlowLogs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateFlowLogsRequest method.
+// req, resp := client.CreateFlowLogsRequest(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/CreateFlowLogs
+func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
+ op := &request.Operation{
+ Name: opCreateFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateFlowLogsInput{}
+ }
+
+ output = &CreateFlowLogsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
+//
+// Creates one or more flow logs to capture IP traffic for a specific network
+// interface, subnet, or VPC. Flow logs are delivered to a specified log group
+// in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
+// a log stream is created in CloudWatch Logs for each network interface in
+// the subnet or VPC. Log streams can include information about accepted and
+// rejected traffic to a network interface. You can view the data in your log
+// streams using Amazon CloudWatch Logs.
+//
+// In your request, you must also specify an IAM role that has permission to
+// publish logs to CloudWatch Logs.
+//
+// For more information, see VPC Flow Logs (http://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
+// 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 CreateFlowLogs for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
+func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
+ req, out := c.CreateFlowLogsRequest(input)
+ return out, req.Send()
+}
+
+// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
+ req, out := c.CreateFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateFpgaImage = "CreateFpgaImage"
+
+// CreateFpgaImageRequest generates a "aws/request.Request" representing the
+// client's request for the CreateFpgaImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateFpgaImage for more information on using the CreateFpgaImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateFpgaImageRequest method.
+// req, resp := client.CreateFpgaImageRequest(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/CreateFpgaImage
+func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
+ op := &request.Operation{
+ Name: opCreateFpgaImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateFpgaImageInput{}
+ }
+
+ output = &CreateFpgaImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
+//
+// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
+//
+// The create operation is asynchronous. To verify that the AFI is ready for
+// use, check the output logs.
+//
+// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
+// You can securely deploy an AFI on one or more FPGA-accelerated instances.
+// For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateFpgaImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
+func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
+ req, out := c.CreateFpgaImageRequest(input)
+ return out, req.Send()
+}
+
+// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateFpgaImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
+ req, out := c.CreateFpgaImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateImage = "CreateImage"
+
+// CreateImageRequest generates a "aws/request.Request" representing the
+// client's request for the CreateImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateImage for more information on using the CreateImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateImageRequest method.
+// req, resp := client.CreateImageRequest(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/CreateImage
+func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
+ op := &request.Operation{
+ Name: opCreateImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateImageInput{}
+ }
+
+ output = &CreateImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateImage API operation for Amazon Elastic Compute Cloud.
+//
+// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
+// is either running or stopped.
+//
+// If you customized your instance with instance store volumes or EBS volumes
+// in addition to the root device volume, the new AMI contains block device
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
+func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
+ req, out := c.CreateImageRequest(input)
+ return out, req.Send()
+}
+
+// CreateImageWithContext is the same as CreateImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
+ req, out := c.CreateImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateInstanceExportTask = "CreateInstanceExportTask"
+
+// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
+// client's request for the CreateInstanceExportTask operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateInstanceExportTaskRequest method.
+// req, resp := client.CreateInstanceExportTaskRequest(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/CreateInstanceExportTask
+func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
+ op := &request.Operation{
+ Name: opCreateInstanceExportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateInstanceExportTaskInput{}
+ }
+
+ output = &CreateInstanceExportTaskOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
+//
+// Exports a running or stopped instance to an S3 bucket.
+//
+// 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)
+// in the VM Import/Export User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateInstanceExportTask for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
+func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
+ req, out := c.CreateInstanceExportTaskRequest(input)
+ return out, req.Send()
+}
+
+// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateInstanceExportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
+ req, out := c.CreateInstanceExportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateInternetGateway = "CreateInternetGateway"
+
+// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateInternetGateway for more information on using the CreateInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateInternetGatewayRequest method.
+// req, resp := client.CreateInternetGatewayRequest(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/CreateInternetGateway
+func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateInternetGatewayInput{}
+ }
+
+ output = &CreateInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Creates an Internet gateway for use with a VPC. After creating the Internet
+// 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/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
+func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
+ req, out := c.CreateInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
+ req, out := c.CreateInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateKeyPair = "CreateKeyPair"
+
+// CreateKeyPairRequest generates a "aws/request.Request" representing the
+// client's request for the CreateKeyPair operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateKeyPair for more information on using the CreateKeyPair
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateKeyPairRequest method.
+// req, resp := client.CreateKeyPairRequest(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/CreateKeyPair
+func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
+ op := &request.Operation{
+ Name: opCreateKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateKeyPairInput{}
+ }
+
+ output = &CreateKeyPairOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
+// the public key and displays the private key for you to save to a file. The
+// private key is returned as an unencrypted PEM encoded PKCS#1 private key.
+// If a key with the specified name already exists, Amazon EC2 returns an error.
+//
+// You can have up to five thousand key pairs per region.
+//
+// The key pair returned to you is available only in the region in which you
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateKeyPair for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
+func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
+ req, out := c.CreateKeyPairRequest(input)
+ return out, req.Send()
+}
+
+// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
+ req, out := c.CreateKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateLaunchTemplate = "CreateLaunchTemplate"
+
+// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
+// client's request for the CreateLaunchTemplate operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateLaunchTemplateRequest method.
+// req, resp := client.CreateLaunchTemplateRequest(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/CreateLaunchTemplate
+func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
+ op := &request.Operation{
+ Name: opCreateLaunchTemplate,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateLaunchTemplateInput{}
+ }
+
+ output = &CreateLaunchTemplateOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a launch template. A launch template contains the parameters to launch
+// an instance. When you launch an instance using RunInstances, you can specify
+// a launch template instead of providing the launch parameters 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 Elastic Compute Cloud's
+// API operation CreateLaunchTemplate for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
+func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
+ req, out := c.CreateLaunchTemplateRequest(input)
+ return out, req.Send()
+}
+
+// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateLaunchTemplate for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
+ req, out := c.CreateLaunchTemplateRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
+
+// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateLaunchTemplateVersion operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateLaunchTemplateVersionRequest method.
+// req, resp := client.CreateLaunchTemplateVersionRequest(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/CreateLaunchTemplateVersion
+func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
+ op := &request.Operation{
+ Name: opCreateLaunchTemplateVersion,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateLaunchTemplateVersionInput{}
+ }
+
+ output = &CreateLaunchTemplateVersionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a new version for a launch template. You can specify an existing
+// version of launch template from which to base the new version.
+//
+// Launch template versions are numbered in the order in which they are created.
+// You cannot specify, change, or replace the numbering of launch template versions.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateLaunchTemplateVersion for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
+func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
+ req, out := c.CreateLaunchTemplateVersionRequest(input)
+ return out, req.Send()
+}
+
+// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateLaunchTemplateVersion for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
+ req, out := c.CreateLaunchTemplateVersionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNatGateway = "CreateNatGateway"
+
+// CreateNatGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNatGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNatGateway for more information on using the CreateNatGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNatGatewayRequest method.
+// req, resp := client.CreateNatGatewayRequest(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/CreateNatGateway
+func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateNatGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNatGatewayInput{}
+ }
+
+ output = &CreateNatGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a NAT gateway in the specified public subnet. This action creates
+// a network interface in the specified subnet with a private IP address from
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateNatGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
+func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
+ req, out := c.CreateNatGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNatGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
+ req, out := c.CreateNatGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNetworkAcl = "CreateNetworkAcl"
+
+// CreateNetworkAclRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNetworkAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNetworkAcl for more information on using the CreateNetworkAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNetworkAclRequest method.
+// req, resp := client.CreateNetworkAclRequest(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/CreateNetworkAcl
+func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
+ op := &request.Operation{
+ Name: opCreateNetworkAcl,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkAclInput{}
+ }
+
+ output = &CreateNetworkAclOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
+//
+// 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 about network ACLs, see Network ACLs (http://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
+// 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 CreateNetworkAcl for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
+func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
+ req, out := c.CreateNetworkAclRequest(input)
+ return out, req.Send()
+}
+
+// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
+ req, out := c.CreateNetworkAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
+
+// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNetworkAclEntry operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNetworkAclEntryRequest method.
+// req, resp := client.CreateNetworkAclEntryRequest(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/CreateNetworkAclEntry
+func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
+ op := &request.Operation{
+ Name: opCreateNetworkAclEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkAclEntryInput{}
+ }
+
+ output = &CreateNetworkAclEntryOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
+//
+// Creates an entry (a rule) in a network ACL with the specified rule number.
+// Each network ACL has a set of numbered ingress rules and a separate set of
+// numbered egress rules. When determining whether a packet should be allowed
+// in or out of a subnet associated with the ACL, we process the entries in
+// the ACL according to the rule numbers, in ascending order. Each network ACL
+// has a set of ingress rules and a separate set of egress rules.
+//
+// We recommend that you leave room between the rule numbers (for example, 100,
+// 110, 120, ...), and not number them one right after the other (for example,
+// 101, 102, 103, ...). This makes it easier to add a rule between existing
+// ones without having to renumber the rules.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateNetworkAclEntry for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
+func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
+ req, out := c.CreateNetworkAclEntryRequest(input)
+ return out, req.Send()
+}
+
+// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
+ req, out := c.CreateNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNetworkInterface = "CreateNetworkInterface"
+
+// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNetworkInterface operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNetworkInterface for more information on using the CreateNetworkInterface
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNetworkInterfaceRequest method.
+// req, resp := client.CreateNetworkInterfaceRequest(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/CreateNetworkInterface
+func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
+ op := &request.Operation{
+ Name: opCreateNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkInterfaceInput{}
+ }
+
+ output = &CreateNetworkInterfaceOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
+//
+// 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
+// Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateNetworkInterface for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
+func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
+ req, out := c.CreateNetworkInterfaceRequest(input)
+ return out, req.Send()
+}
+
+// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
+ req, out := c.CreateNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
+
+// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNetworkInterfacePermission operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
+// req, resp := client.CreateNetworkInterfacePermissionRequest(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/CreateNetworkInterfacePermission
+func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
+ op := &request.Operation{
+ Name: opCreateNetworkInterfacePermission,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkInterfacePermissionInput{}
+ }
+
+ output = &CreateNetworkInterfacePermissionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
+//
+// Grants an AWS-authorized account permission to attach the specified network
+// interface to an instance in their account.
+//
+// You can grant permission to a single AWS account only, and only one account
+// at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateNetworkInterfacePermission for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
+func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
+ req, out := c.CreateNetworkInterfacePermissionRequest(input)
+ return out, req.Send()
+}
+
+// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkInterfacePermission for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
+ req, out := c.CreateNetworkInterfacePermissionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreatePlacementGroup = "CreatePlacementGroup"
+
+// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
+// client's request for the CreatePlacementGroup operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreatePlacementGroup for more information on using the CreatePlacementGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreatePlacementGroupRequest method.
+// req, resp := client.CreatePlacementGroupRequest(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/CreatePlacementGroup
+func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
+ op := &request.Operation{
+ Name: opCreatePlacementGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreatePlacementGroupInput{}
+ }
+
+ output = &CreatePlacementGroupOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a placement group in which to launch instances. The strategy of the
+// placement group determines how the instances are organized within the group.
+//
+// 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.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreatePlacementGroup for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
+func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
+ req, out := c.CreatePlacementGroupRequest(input)
+ return out, req.Send()
+}
+
+// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreatePlacementGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
+ req, out := c.CreatePlacementGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
+
+// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
+// client's request for the CreateReservedInstancesListing operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateReservedInstancesListingRequest method.
+// req, resp := client.CreateReservedInstancesListingRequest(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/CreateReservedInstancesListing
+func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
+ op := &request.Operation{
+ Name: opCreateReservedInstancesListing,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateReservedInstancesListingInput{}
+ }
+
+ output = &CreateReservedInstancesListingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
+// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
+// 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.
+//
+// The Reserved Instance Marketplace matches sellers who want to resell Standard
+// Reserved Instance capacity that they no longer need with buyers who want
+// to purchase additional capacity. Reserved Instances bought and sold through
+// the Reserved Instance Marketplace work like any other Reserved Instances.
+//
+// To sell your Standard Reserved Instances, you must first register as a seller
+// in the Reserved Instance Marketplace. After completing the registration process,
+// you can create a Reserved Instance Marketplace listing of some or all of
+// your Standard Reserved Instances, and specify the upfront price to receive
+// for them. Your Standard Reserved Instance listings then become available
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateReservedInstancesListing for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
+func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
+ req, out := c.CreateReservedInstancesListingRequest(input)
+ return out, req.Send()
+}
+
+// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateReservedInstancesListing for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
+ req, out := c.CreateReservedInstancesListingRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/CreateRoute
+func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
+ op := &request.Operation{
+ Name: opCreateRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateRouteInput{}
+ }
+
+ output = &CreateRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a route in a route table within a VPC.
+//
+// You must specify one of the following targets: Internet gateway or virtual
+// private gateway, NAT instance, NAT gateway, VPC peering connection, network
+// interface, or egress-only Internet gateway.
+//
+// When determining how to route traffic, we use the route with the most specific
+// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
+// the route table includes the following two IPv4 routes:
+//
+// * 192.0.2.0/24 (goes to some target A)
+//
+// * 192.0.2.0/28 (goes to some target B)
+//
+// Both routes apply to the traffic destined for 192.0.2.3. However, the second
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
+func (c *EC2) 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 *EC2) 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 opCreateRouteTable = "CreateRouteTable"
+
+// CreateRouteTableRequest generates a "aws/request.Request" representing the
+// client's request for the CreateRouteTable operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateRouteTable for more information on using the CreateRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateRouteTableRequest method.
+// req, resp := client.CreateRouteTableRequest(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/CreateRouteTable
+func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
+ op := &request.Operation{
+ Name: opCreateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateRouteTableInput{}
+ }
+
+ output = &CreateRouteTableOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
+//
+// 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 about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateRouteTable for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
+func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
+ req, out := c.CreateRouteTableRequest(input)
+ return out, req.Send()
+}
+
+// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
+ req, out := c.CreateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateSecurityGroup = "CreateSecurityGroup"
+
+// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
+// client's request for the CreateSecurityGroup operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateSecurityGroup for more information on using the CreateSecurityGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateSecurityGroupRequest method.
+// req, resp := client.CreateSecurityGroupRequest(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/CreateSecurityGroup
+func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
+ op := &request.Operation{
+ Name: opCreateSecurityGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSecurityGroupInput{}
+ }
+
+ output = &CreateSecurityGroupOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a security group.
+//
+// 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)
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// EC2-Classic: You can have up to 500 security groups.
+//
+// EC2-VPC: You can create up to 500 security groups per VPC.
+//
+// When you create a security group, you specify a friendly name of your choice.
+// You can have a security group for use in EC2-Classic with the same name as
+// a security group for use in a VPC. However, you can't have two security groups
+// for use in EC2-Classic with the same name or two security groups for use
+// in a VPC with the same name.
+//
+// You have a default security group for use in EC2-Classic and a default security
+// group for use in your VPC. If you don't specify a security group when you
+// launch an instance, the instance is launched into the appropriate default
+// security group. A default security group includes a default rule that grants
+// instances unrestricted network access to each other.
+//
+// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
+// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateSecurityGroup for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
+func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
+ req, out := c.CreateSecurityGroupRequest(input)
+ return out, req.Send()
+}
+
+// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSecurityGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
+ req, out := c.CreateSecurityGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateSnapshot = "CreateSnapshot"
+
+// CreateSnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the CreateSnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateSnapshot for more information on using the CreateSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateSnapshotRequest method.
+// req, resp := client.CreateSnapshotRequest(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/CreateSnapshot
+func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
+ op := &request.Operation{
+ Name: opCreateSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSnapshotInput{}
+ }
+
+ output = &Snapshot{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
+// snapshots for backups, to make copies of EBS volumes, and to save data before
+// shutting down an instance.
+//
+// When a snapshot is created, any AWS Marketplace product codes that are associated
+// with the source volume are propagated to the snapshot.
+//
+// You can take a snapshot of an attached volume that is in use. However, snapshots
+// only capture data that has been written to your EBS volume at the time the
+// snapshot command is issued; this may exclude any data that has been cached
+// by any applications or the operating system. If you can pause any file systems
+// on the volume long enough to take a snapshot, your snapshot should be complete.
+// However, if you cannot pause all file writes to the volume, you should unmount
+// the volume from within the instance, issue the snapshot command, and then
+// remount the volume to ensure a consistent and complete snapshot. You may
+// remount and use your volume while the snapshot status is pending.
+//
+// To create a snapshot for EBS volumes that serve as root devices, you should
+// stop the instance before taking the snapshot.
+//
+// Snapshots that are taken from encrypted volumes are automatically encrypted.
+// Volumes that are created from encrypted snapshots are also automatically
+// encrypted. Your encrypted volumes and any associated snapshots always remain
+// 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).
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateSnapshot for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
+func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
+ req, out := c.CreateSnapshotRequest(input)
+ return out, req.Send()
+}
+
+// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
+ req, out := c.CreateSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
+
+// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
+// req, resp := client.CreateSpotDatafeedSubscriptionRequest(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/CreateSpotDatafeedSubscription
+func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
+ op := &request.Operation{
+ Name: opCreateSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSpotDatafeedSubscriptionInput{}
+ }
+
+ output = &CreateSpotDatafeedSubscriptionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon EC2 User Guide for Linux 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 Elastic Compute Cloud's
+// API operation CreateSpotDatafeedSubscription for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
+func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
+ return out, req.Send()
+}
+
+// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateSubnet = "CreateSubnet"
+
+// CreateSubnetRequest generates a "aws/request.Request" representing the
+// client's request for the CreateSubnet operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateSubnet for more information on using the CreateSubnet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateSubnetRequest method.
+// req, resp := client.CreateSubnetRequest(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/CreateSubnet
+func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
+ op := &request.Operation{
+ Name: opCreateSubnet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSubnetInput{}
+ }
+
+ output = &CreateSubnetOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateSubnet API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a subnet in an existing VPC.
+//
+// When you create each subnet, you provide the VPC ID and the IPv4 CIDR block
+// you want for the subnet. After you create a subnet, you can't change its
+// CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a
+// VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create
+// more than one subnet in a VPC, the subnets' CIDR blocks must not overlap.
+// The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16
+// IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).
+//
+// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
+// with an IPv6 CIDR block that uses a /64 prefix length.
+//
+// AWS reserves both the first four and the last IPv4 address in each subnet's
+// CIDR block. They're not available for use.
+//
+// If you add more than one subnet to a VPC, they're set up in a star topology
+// with a logical router in the middle.
+//
+// If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
+// address doesn't change if you stop and restart the instance (unlike a similar
+// instance launched outside a VPC, which gets a new IP address when restarted).
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateSubnet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
+func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
+ req, out := c.CreateSubnetRequest(input)
+ return out, req.Send()
+}
+
+// CreateSubnetWithContext is the same as CreateSubnet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSubnet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
+ req, out := c.CreateSubnetRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/CreateTags
+func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
+ op := &request.Operation{
+ Name: opCreateTags,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateTagsInput{}
+ }
+
+ output = &CreateTagsOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CreateTags API operation for Amazon Elastic Compute Cloud.
+//
+// Adds or overwrites one or more tags for the specified Amazon EC2 resource
+// 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)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateTags for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
+func (c *EC2) 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 *EC2) 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 opCreateVolume = "CreateVolume"
+
+// CreateVolumeRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVolume operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVolume for more information on using the CreateVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVolumeRequest method.
+// req, resp := client.CreateVolumeRequest(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/CreateVolume
+func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
+ op := &request.Operation{
+ Name: opCreateVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVolumeInput{}
+ }
+
+ output = &Volume{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVolume API operation for Amazon Elastic Compute Cloud.
+//
+// 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).
+//
+// 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
+// volume.
+//
+// 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)
+// 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).
+//
+// For more information, see Creating an Amazon EBS Volume (http://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
+// 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 CreateVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
+func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
+ req, out := c.CreateVolumeRequest(input)
+ return out, req.Send()
+}
+
+// CreateVolumeWithContext is the same as CreateVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
+ req, out := c.CreateVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpc = "CreateVpc"
+
+// CreateVpcRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpc for more information on using the CreateVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpcRequest method.
+// req, resp := client.CreateVpcRequest(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/CreateVpc
+func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
+ op := &request.Operation{
+ Name: opCreateVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpcInput{}
+ }
+
+ output = &CreateVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
+// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
+// netmask (65,536 IPv4 addresses). To help you decide how big to make your
+// VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
+// The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
+// pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
+//
+// By default, each instance you launch in the VPC has the default DHCP options,
+// which includes only a default DNS server that we provide (AmazonProvidedDNS).
+// For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
+func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
+ req, out := c.CreateVpcRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpcWithContext is the same as CreateVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
+ req, out := c.CreateVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpcEndpoint = "CreateVpcEndpoint"
+
+// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpcEndpoint operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpcEndpointRequest method.
+// req, resp := client.CreateVpcEndpointRequest(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/CreateVpcEndpoint
+func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
+ op := &request.Operation{
+ Name: opCreateVpcEndpoint,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpcEndpointInput{}
+ }
+
+ output = &CreateVpcEndpointOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// A gateway endpoint serves as a target for a route in your route table for
+// traffic destined for the AWS service. You can specify an endpoint policy
+// to attach to the endpoint that will control access to the service from your
+// VPC. You can also specify the VPC route tables that use the endpoint.
+//
+// An interface endpoint is a network interface in your subnet that serves as
+// an endpoint for communicating with the specified service. You can specify
+// the subnets in which to create an endpoint, and the security groups to associate
+// with the endpoint network interface.
+//
+// Use DescribeVpcEndpointServices to get a list of supported services.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateVpcEndpoint for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
+func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
+ req, out := c.CreateVpcEndpointRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcEndpoint for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
+ req, out := c.CreateVpcEndpointRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
+
+// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
+// req, resp := client.CreateVpcEndpointConnectionNotificationRequest(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/CreateVpcEndpointConnectionNotification
+func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
+ op := &request.Operation{
+ Name: opCreateVpcEndpointConnectionNotification,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpcEndpointConnectionNotificationInput{}
+ }
+
+ output = &CreateVpcEndpointConnectionNotificationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Simple Notification Service Developer Guide.
+//
+// You can create a connection notification for interface endpoints only.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateVpcEndpointConnectionNotification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
+func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
+ req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
+ req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
+
+// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
+// req, resp := client.CreateVpcEndpointServiceConfigurationRequest(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/CreateVpcEndpointServiceConfiguration
+func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
+ op := &request.Operation{
+ Name: opCreateVpcEndpointServiceConfiguration,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpcEndpointServiceConfigurationInput{}
+ }
+
+ output = &CreateVpcEndpointServiceConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a VPC endpoint service configuration to which service consumers (AWS
+// accounts, IAM users, and IAM roles) can connect. Service consumers can create
+// an interface VPC endpoint to connect to your service.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
+func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
+ req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
+ req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
+
+// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpcPeeringConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpcPeeringConnectionRequest method.
+// req, resp := client.CreateVpcPeeringConnectionRequest(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/CreateVpcPeeringConnection
+func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
+ op := &request.Operation{
+ Name: opCreateVpcPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpcPeeringConnectionInput{}
+ }
+
+ output = &CreateVpcPeeringConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Requests a VPC peering connection between two VPCs: a requester VPC that
+// you own and an accepter VPC with which to create the connection. The accepter
+// VPC can belong to another AWS account and can be in a different region to
+// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
+// 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)
+// section in the VPC Peering Guide.
+//
+// The owner of the accepter VPC must accept the peering request to activate
+// the peering connection. The VPC peering connection request expires after
+// 7 days, after which it cannot be accepted or rejected.
+//
+// If you create a VPC peering connection request between VPCs with overlapping
+// CIDR blocks, the VPC peering connection has a status of failed.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateVpcPeeringConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
+func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
+ req, out := c.CreateVpcPeeringConnectionRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
+ req, out := c.CreateVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpnConnection = "CreateVpnConnection"
+
+// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpnConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpnConnection for more information on using the CreateVpnConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpnConnectionRequest method.
+// req, resp := client.CreateVpnConnectionRequest(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/CreateVpnConnection
+func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
+ op := &request.Operation{
+ Name: opCreateVpnConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpnConnectionInput{}
+ }
+
+ output = &CreateVpnConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a VPN connection between an existing virtual private gateway and
+// a VPN customer gateway. The only supported connection type is ipsec.1.
+//
+// The response includes information that you need to give to your network administrator
+// to configure your customer gateway.
+//
+// We strongly recommend that you use HTTPS when calling this operation because
+// the response contains sensitive cryptographic information for configuring
+// your customer gateway.
+//
+// If you decide to shut down your VPN connection for any reason and later create
+// a new VPN connection, you must reconfigure your customer gateway with the
+// new information returned from this call.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateVpnConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
+func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
+ req, out := c.CreateVpnConnectionRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
+ req, out := c.CreateVpnConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
+
+// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpnConnectionRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpnConnectionRouteRequest method.
+// req, resp := client.CreateVpnConnectionRouteRequest(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/CreateVpnConnectionRoute
+func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
+ op := &request.Operation{
+ Name: opCreateVpnConnectionRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpnConnectionRouteInput{}
+ }
+
+ output = &CreateVpnConnectionRouteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a static route associated with a VPN connection between an existing
+// virtual private gateway and a VPN customer gateway. The static route allows
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateVpnConnectionRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
+func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
+ req, out := c.CreateVpnConnectionRouteRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnConnectionRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
+ req, out := c.CreateVpnConnectionRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVpnGateway = "CreateVpnGateway"
+
+// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVpnGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVpnGateway for more information on using the CreateVpnGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVpnGatewayRequest method.
+// req, resp := client.CreateVpnGatewayRequest(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/CreateVpnGateway
+func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateVpnGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVpnGatewayInput{}
+ }
+
+ output = &CreateVpnGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a virtual private gateway. A virtual private gateway is the endpoint
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 CreateVpnGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
+func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
+ req, out := c.CreateVpnGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
+ req, out := c.CreateVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteCustomerGateway = "DeleteCustomerGateway"
+
+// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteCustomerGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteCustomerGatewayRequest method.
+// req, resp := client.DeleteCustomerGatewayRequest(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/DeleteCustomerGateway
+func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteCustomerGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteCustomerGatewayInput{}
+ }
+
+ output = &DeleteCustomerGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified customer gateway. You must delete the VPN connection
+// before you can delete the customer gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteCustomerGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
+func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
+ req, out := c.DeleteCustomerGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteCustomerGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
+ req, out := c.DeleteCustomerGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteDhcpOptions = "DeleteDhcpOptions"
+
+// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteDhcpOptions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteDhcpOptionsRequest method.
+// req, resp := client.DeleteDhcpOptionsRequest(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/DeleteDhcpOptions
+func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
+ op := &request.Operation{
+ Name: opDeleteDhcpOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteDhcpOptionsInput{}
+ }
+
+ output = &DeleteDhcpOptionsOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified set of DHCP options. You must disassociate the set
+// of DHCP options before you can delete it. You can disassociate the set of
+// DHCP options by associating either a new set of options or the default set
+// of options with the 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 Elastic Compute Cloud's
+// API operation DeleteDhcpOptions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
+func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
+ req, out := c.DeleteDhcpOptionsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
+ req, out := c.DeleteDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
+
+// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
+// req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
+func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteEgressOnlyInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteEgressOnlyInternetGatewayInput{}
+ }
+
+ output = &DeleteEgressOnlyInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes an egress-only Internet gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteEgressOnlyInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
+func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteFleets = "DeleteFleets"
+
+// DeleteFleetsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteFleets operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteFleets for more information on using the DeleteFleets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteFleetsRequest method.
+// req, resp := client.DeleteFleetsRequest(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/DeleteFleets
+func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
+ op := &request.Operation{
+ Name: opDeleteFleets,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteFleetsInput{}
+ }
+
+ output = &DeleteFleetsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteFleets API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified EC2 Fleet.
+//
+// After you delete an EC2 Fleet, it launches no new instances. You must specify
+// whether an EC2 Fleet should also terminate its instances. If you terminate
+// the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
+// the EC2 Fleet enters the deleted_running state, and the instances continue
+// to run until they are interrupted or you terminate them manually.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteFleets for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
+func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
+ req, out := c.DeleteFleetsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteFleets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
+ req, out := c.DeleteFleetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteFlowLogs = "DeleteFlowLogs"
+
+// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteFlowLogs operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteFlowLogs for more information on using the DeleteFlowLogs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteFlowLogsRequest method.
+// req, resp := client.DeleteFlowLogsRequest(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/DeleteFlowLogs
+func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
+ op := &request.Operation{
+ Name: opDeleteFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteFlowLogsInput{}
+ }
+
+ output = &DeleteFlowLogsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes one or more flow 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 Amazon Elastic Compute Cloud's
+// API operation DeleteFlowLogs for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
+func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
+ req, out := c.DeleteFlowLogsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
+ req, out := c.DeleteFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteFpgaImage = "DeleteFpgaImage"
+
+// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteFpgaImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteFpgaImage for more information on using the DeleteFpgaImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteFpgaImageRequest method.
+// req, resp := client.DeleteFpgaImageRequest(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/DeleteFpgaImage
+func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
+ op := &request.Operation{
+ Name: opDeleteFpgaImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteFpgaImageInput{}
+ }
+
+ output = &DeleteFpgaImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified Amazon FPGA Image (AFI).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteFpgaImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
+func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
+ req, out := c.DeleteFpgaImageRequest(input)
+ return out, req.Send()
+}
+
+// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteFpgaImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
+ req, out := c.DeleteFpgaImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteInternetGateway = "DeleteInternetGateway"
+
+// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteInternetGateway for more information on using the DeleteInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteInternetGatewayRequest method.
+// req, resp := client.DeleteInternetGatewayRequest(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/DeleteInternetGateway
+func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteInternetGatewayInput{}
+ }
+
+ output = &DeleteInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified Internet gateway. You must detach the Internet gateway
+// from the VPC before you can delete it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
+func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
+ req, out := c.DeleteInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
+ req, out := c.DeleteInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteKeyPair = "DeleteKeyPair"
+
+// DeleteKeyPairRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteKeyPair operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteKeyPair for more information on using the DeleteKeyPair
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteKeyPairRequest method.
+// req, resp := client.DeleteKeyPairRequest(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/DeleteKeyPair
+func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
+ op := &request.Operation{
+ Name: opDeleteKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteKeyPairInput{}
+ }
+
+ output = &DeleteKeyPairOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified key pair, by removing the public key from Amazon EC2.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteKeyPair for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
+func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
+ req, out := c.DeleteKeyPairRequest(input)
+ return out, req.Send()
+}
+
+// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
+ req, out := c.DeleteKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
+
+// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteLaunchTemplate operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteLaunchTemplateRequest method.
+// req, resp := client.DeleteLaunchTemplateRequest(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/DeleteLaunchTemplate
+func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
+ op := &request.Operation{
+ Name: opDeleteLaunchTemplate,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteLaunchTemplateInput{}
+ }
+
+ output = &DeleteLaunchTemplateOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a launch template. Deleting a launch template deletes all of its
+// versions.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteLaunchTemplate for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
+func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
+ req, out := c.DeleteLaunchTemplateRequest(input)
+ return out, req.Send()
+}
+
+// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteLaunchTemplate for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
+ req, out := c.DeleteLaunchTemplateRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
+
+// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
+// req, resp := client.DeleteLaunchTemplateVersionsRequest(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/DeleteLaunchTemplateVersions
+func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
+ op := &request.Operation{
+ Name: opDeleteLaunchTemplateVersions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteLaunchTemplateVersionsInput{}
+ }
+
+ output = &DeleteLaunchTemplateVersionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes one or more versions of a launch template. You cannot delete the
+// default version of a launch template; you must first assign a different version
+// as the default. If the default version is the only version for the launch
+// template, you must delete the entire launch template using DeleteLaunchTemplate.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteLaunchTemplateVersions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
+func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
+ req, out := c.DeleteLaunchTemplateVersionsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteLaunchTemplateVersions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
+ req, out := c.DeleteLaunchTemplateVersionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNatGateway = "DeleteNatGateway"
+
+// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNatGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNatGateway for more information on using the DeleteNatGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNatGatewayRequest method.
+// req, resp := client.DeleteNatGatewayRequest(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/DeleteNatGateway
+func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteNatGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNatGatewayInput{}
+ }
+
+ output = &DeleteNatGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
+// Elastic IP address, but does not release the address from your account. Deleting
+// a NAT gateway does not delete any NAT gateway routes in your route tables.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteNatGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
+func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
+ req, out := c.DeleteNatGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNatGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
+ req, out := c.DeleteNatGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNetworkAcl = "DeleteNetworkAcl"
+
+// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNetworkAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNetworkAclRequest method.
+// req, resp := client.DeleteNetworkAclRequest(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/DeleteNetworkAcl
+func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
+ op := &request.Operation{
+ Name: opDeleteNetworkAcl,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkAclInput{}
+ }
+
+ output = &DeleteNetworkAclOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified network ACL. You can't delete the ACL if it's associated
+// with any subnets. You can't delete the default network ACL.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteNetworkAcl for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
+func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
+ req, out := c.DeleteNetworkAclRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
+ req, out := c.DeleteNetworkAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
+
+// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNetworkAclEntry operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNetworkAclEntryRequest method.
+// req, resp := client.DeleteNetworkAclEntryRequest(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/DeleteNetworkAclEntry
+func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
+ op := &request.Operation{
+ Name: opDeleteNetworkAclEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkAclEntryInput{}
+ }
+
+ output = &DeleteNetworkAclEntryOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified ingress or egress entry (rule) from the specified network
+// ACL.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteNetworkAclEntry for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
+func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
+ req, out := c.DeleteNetworkAclEntryRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
+ req, out := c.DeleteNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNetworkInterface = "DeleteNetworkInterface"
+
+// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNetworkInterface operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNetworkInterfaceRequest method.
+// req, resp := client.DeleteNetworkInterfaceRequest(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/DeleteNetworkInterface
+func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
+ op := &request.Operation{
+ Name: opDeleteNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkInterfaceInput{}
+ }
+
+ output = &DeleteNetworkInterfaceOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified network interface. You must detach the network interface
+// before you can delete it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteNetworkInterface for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
+func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
+ req, out := c.DeleteNetworkInterfaceRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
+ req, out := c.DeleteNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
+
+// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
+// req, resp := client.DeleteNetworkInterfacePermissionRequest(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/DeleteNetworkInterfacePermission
+func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
+ op := &request.Operation{
+ Name: opDeleteNetworkInterfacePermission,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkInterfacePermissionInput{}
+ }
+
+ output = &DeleteNetworkInterfacePermissionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a permission for a network interface. By default, you cannot delete
+// the permission if the account for which you're removing the permission has
+// attached the network interface to an instance. However, you can force delete
+// the permission, regardless of any attachment.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteNetworkInterfacePermission for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
+func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
+ req, out := c.DeleteNetworkInterfacePermissionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkInterfacePermission for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
+ req, out := c.DeleteNetworkInterfacePermissionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeletePlacementGroup = "DeletePlacementGroup"
+
+// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
+// client's request for the DeletePlacementGroup operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeletePlacementGroup for more information on using the DeletePlacementGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeletePlacementGroupRequest method.
+// req, resp := client.DeletePlacementGroupRequest(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/DeletePlacementGroup
+func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
+ op := &request.Operation{
+ Name: opDeletePlacementGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeletePlacementGroupInput{}
+ }
+
+ output = &DeletePlacementGroupOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeletePlacementGroup for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
+func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
+ req, out := c.DeletePlacementGroupRequest(input)
+ return out, req.Send()
+}
+
+// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeletePlacementGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
+ req, out := c.DeletePlacementGroupRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/DeleteRoute
+func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
+ op := &request.Operation{
+ Name: opDeleteRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteRouteInput{}
+ }
+
+ output = &DeleteRouteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified route from the specified route 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 Elastic Compute Cloud's
+// API operation DeleteRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
+func (c *EC2) 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 *EC2) 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 opDeleteRouteTable = "DeleteRouteTable"
+
+// DeleteRouteTableRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteRouteTable operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteRouteTable for more information on using the DeleteRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteRouteTableRequest method.
+// req, resp := client.DeleteRouteTableRequest(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/DeleteRouteTable
+func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
+ op := &request.Operation{
+ Name: opDeleteRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteRouteTableInput{}
+ }
+
+ output = &DeleteRouteTableOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified route table. You must disassociate the route table
+// from any subnets before you can delete it. You can't delete the main route
+// 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 Elastic Compute Cloud's
+// API operation DeleteRouteTable for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
+func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
+ req, out := c.DeleteRouteTableRequest(input)
+ return out, req.Send()
+}
+
+// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
+ req, out := c.DeleteRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteSecurityGroup = "DeleteSecurityGroup"
+
+// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteSecurityGroup operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteSecurityGroupRequest method.
+// req, resp := client.DeleteSecurityGroupRequest(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/DeleteSecurityGroup
+func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
+ op := &request.Operation{
+ Name: opDeleteSecurityGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSecurityGroupInput{}
+ }
+
+ output = &DeleteSecurityGroupOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a security group.
+//
+// If you attempt to delete a security group that is associated with an instance,
+// or is referenced by another security group, the operation fails with InvalidGroup.InUse
+// in EC2-Classic or DependencyViolation in EC2-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 Elastic Compute Cloud's
+// API operation DeleteSecurityGroup for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
+func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
+ req, out := c.DeleteSecurityGroupRequest(input)
+ return out, req.Send()
+}
+
+// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSecurityGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
+ req, out := c.DeleteSecurityGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteSnapshot = "DeleteSnapshot"
+
+// DeleteSnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteSnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteSnapshot for more information on using the DeleteSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteSnapshotRequest method.
+// req, resp := client.DeleteSnapshotRequest(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/DeleteSnapshot
+func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
+ op := &request.Operation{
+ Name: opDeleteSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSnapshotInput{}
+ }
+
+ output = &DeleteSnapshotOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified snapshot.
+//
+// When you make periodic snapshots of a volume, the snapshots are incremental,
+// and only the blocks on the device that have changed since your last snapshot
+// are saved in the new snapshot. When you delete a snapshot, only the data
+// not needed for any other snapshot is removed. So regardless of which prior
+// snapshots have been deleted, all active snapshots will have access to all
+// the information needed to restore the volume.
+//
+// You cannot delete a snapshot of the root device of an EBS volume used by
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteSnapshot for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
+func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
+ req, out := c.DeleteSnapshotRequest(input)
+ return out, req.Send()
+}
+
+// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
+ req, out := c.DeleteSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
+
+// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
+// req, resp := client.DeleteSpotDatafeedSubscriptionRequest(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/DeleteSpotDatafeedSubscription
+func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
+ op := &request.Operation{
+ Name: opDeleteSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSpotDatafeedSubscriptionInput{}
+ }
+
+ output = &DeleteSpotDatafeedSubscriptionOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the data feed for Spot 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 Elastic Compute Cloud's
+// API operation DeleteSpotDatafeedSubscription for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
+func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteSubnet = "DeleteSubnet"
+
+// DeleteSubnetRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteSubnet operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteSubnet for more information on using the DeleteSubnet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteSubnetRequest method.
+// req, resp := client.DeleteSubnetRequest(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/DeleteSubnet
+func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
+ op := &request.Operation{
+ Name: opDeleteSubnet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSubnetInput{}
+ }
+
+ output = &DeleteSubnetOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified subnet. You must terminate all running instances in
+// the subnet before you can delete the subnet.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteSubnet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
+func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
+ req, out := c.DeleteSubnetRequest(input)
+ return out, req.Send()
+}
+
+// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSubnet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
+ req, out := c.DeleteSubnetRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/DeleteTags
+func (c *EC2) 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.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteTags API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteTags for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
+func (c *EC2) 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 *EC2) 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 opDeleteVolume = "DeleteVolume"
+
+// DeleteVolumeRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVolume operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVolume for more information on using the DeleteVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVolumeRequest method.
+// req, resp := client.DeleteVolumeRequest(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/DeleteVolume
+func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
+ op := &request.Operation{
+ Name: opDeleteVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVolumeInput{}
+ }
+
+ output = &DeleteVolumeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteVolume API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified EBS volume. The volume must be in the available state
+// (not attached to an instance).
+//
+// The volume may 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
+func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
+ req, out := c.DeleteVolumeRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
+ req, out := c.DeleteVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpc = "DeleteVpc"
+
+// DeleteVpcRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpc for more information on using the DeleteVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpcRequest method.
+// req, resp := client.DeleteVpcRequest(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/DeleteVpc
+func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpcInput{}
+ }
+
+ output = &DeleteVpcOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified VPC. You must detach or delete all gateways and resources
+// that are associated with the VPC before you can delete it. For example, you
+// must terminate all instances running in the VPC, delete all security groups
+// associated with the VPC (except the default one), delete all route tables
+// associated with the VPC (except the default one), and so on.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
+func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
+ req, out := c.DeleteVpcRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpcWithContext is the same as DeleteVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
+ req, out := c.DeleteVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
+
+// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
+// req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(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/DeleteVpcEndpointConnectionNotifications
+func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpcEndpointConnectionNotifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpcEndpointConnectionNotificationsInput{}
+ }
+
+ output = &DeleteVpcEndpointConnectionNotificationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes one or more VPC endpoint connection notifications.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteVpcEndpointConnectionNotifications for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
+func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
+ req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
+ req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
+
+// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
+// req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(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/DeleteVpcEndpointServiceConfigurations
+func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpcEndpointServiceConfigurations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpcEndpointServiceConfigurationsInput{}
+ }
+
+ output = &DeleteVpcEndpointServiceConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes one or more VPC endpoint service configurations in your account.
+// Before you delete the endpoint service configuration, you must reject any
+// Available or PendingAcceptance interface endpoint connections that are attached
+// to the service.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteVpcEndpointServiceConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
+func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
+ req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
+ req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
+
+// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpcEndpoints operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpcEndpointsRequest method.
+// req, resp := client.DeleteVpcEndpointsRequest(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/DeleteVpcEndpoints
+func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpcEndpoints,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpcEndpointsInput{}
+ }
+
+ output = &DeleteVpcEndpointsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
+// also deletes the endpoint routes in the route tables that were associated
+// with the endpoint. Deleting an interface endpoint deletes the endpoint network
+// interfaces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeleteVpcEndpoints for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
+func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
+ req, out := c.DeleteVpcEndpointsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcEndpoints for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
+ req, out := c.DeleteVpcEndpointsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
+
+// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpcPeeringConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
+// req, resp := client.DeleteVpcPeeringConnectionRequest(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/DeleteVpcPeeringConnection
+func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpcPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpcPeeringConnectionInput{}
+ }
+
+ output = &DeleteVpcPeeringConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a VPC peering connection. Either the owner of the requester VPC or
+// the owner of the accepter VPC can delete the VPC peering connection if it's
+// in the active state. The owner of the requester VPC can delete a VPC peering
+// connection in the pending-acceptance state. You cannot delete a VPC peering
+// connection that's in the failed 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 Elastic Compute Cloud's
+// API operation DeleteVpcPeeringConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
+func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
+ req, out := c.DeleteVpcPeeringConnectionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
+ req, out := c.DeleteVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpnConnection = "DeleteVpnConnection"
+
+// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpnConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpnConnection for more information on using the DeleteVpnConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpnConnectionRequest method.
+// req, resp := client.DeleteVpnConnectionRequest(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/DeleteVpnConnection
+func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpnConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpnConnectionInput{}
+ }
+
+ output = &DeleteVpnConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified VPN connection.
+//
+// If you're deleting the VPC and its associated components, we recommend that
+// you detach the virtual private gateway from the VPC and delete the VPC before
+// deleting the VPN connection. If you believe that the tunnel credentials for
+// your VPN connection have been compromised, you can delete the VPN connection
+// and create a new one that has new keys, without needing to delete the VPC
+// or virtual private gateway. If you create a new VPN connection, you must
+// reconfigure the customer gateway using the new configuration information
+// returned with the new VPN connection ID.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteVpnConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
+func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
+ req, out := c.DeleteVpnConnectionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
+ req, out := c.DeleteVpnConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
+
+// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpnConnectionRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpnConnectionRouteRequest method.
+// req, resp := client.DeleteVpnConnectionRouteRequest(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/DeleteVpnConnectionRoute
+func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpnConnectionRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpnConnectionRouteInput{}
+ }
+
+ output = &DeleteVpnConnectionRouteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified static route associated with a VPN connection between
+// an existing virtual private gateway and a VPN customer gateway. The static
+// route allows traffic to be routed from the virtual private gateway to the
+// VPN customer gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteVpnConnectionRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
+func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
+ req, out := c.DeleteVpnConnectionRouteRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnConnectionRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
+ req, out := c.DeleteVpnConnectionRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVpnGateway = "DeleteVpnGateway"
+
+// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVpnGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVpnGateway for more information on using the DeleteVpnGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVpnGatewayRequest method.
+// req, resp := client.DeleteVpnGatewayRequest(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/DeleteVpnGateway
+func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteVpnGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVpnGatewayInput{}
+ }
+
+ output = &DeleteVpnGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified virtual private gateway. We recommend that before you
+// delete a virtual private gateway, you detach it from the VPC and delete the
+// VPN connection. Note that you don't need to delete the virtual private gateway
+// if you plan to delete and recreate the VPN connection between your VPC and
+// 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 Elastic Compute Cloud's
+// API operation DeleteVpnGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
+func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
+ req, out := c.DeleteVpnGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
+ req, out := c.DeleteVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeregisterImage = "DeregisterImage"
+
+// DeregisterImageRequest generates a "aws/request.Request" representing the
+// client's request for the DeregisterImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeregisterImage for more information on using the DeregisterImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeregisterImageRequest method.
+// req, resp := client.DeregisterImageRequest(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/DeregisterImage
+func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
+ op := &request.Operation{
+ Name: opDeregisterImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeregisterImageInput{}
+ }
+
+ output = &DeregisterImageOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeregisterImage API operation for Amazon Elastic Compute Cloud.
+//
+// Deregisters the specified AMI. After you deregister an AMI, it can't be used
+// to launch new instances; however, it doesn't affect any instances that you've
+// already launched from the AMI. You'll continue to incur usage costs for those
+// instances until you terminate them.
+//
+// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
+// that was created for the root volume of the instance during the AMI creation
+// process. When you deregister an instance store-backed AMI, it doesn't affect
+// the files that you uploaded to Amazon S3 when you created the AMI.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DeregisterImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
+func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
+ req, out := c.DeregisterImageRequest(input)
+ return out, req.Send()
+}
+
+// DeregisterImageWithContext is the same as DeregisterImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeregisterImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
+ req, out := c.DeregisterImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeAccountAttributes = "DescribeAccountAttributes"
+
+// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeAccountAttributes operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeAccountAttributesRequest method.
+// req, resp := client.DescribeAccountAttributesRequest(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/DescribeAccountAttributes
+func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
+ op := &request.Operation{
+ Name: opDescribeAccountAttributes,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAccountAttributesInput{}
+ }
+
+ output = &DescribeAccountAttributesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
+//
+// Describes attributes of your AWS account. The following are the supported
+// account attributes:
+//
+// * supported-platforms: Indicates whether your account can launch instances
+// into EC2-Classic and EC2-VPC, or only into EC2-VPC.
+//
+// * default-vpc: The ID of the default VPC for your account, or none.
+//
+// * max-instances: The maximum number of On-Demand Instances that you can
+// run.
+//
+// * vpc-max-security-groups-per-interface: The maximum number of security
+// groups that you can assign to a network interface.
+//
+// * max-elastic-ips: The maximum number of Elastic IP addresses that you
+// can allocate for use with EC2-Classic.
+//
+// * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
+// you can allocate for use with EC2-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 Elastic Compute Cloud's
+// API operation DescribeAccountAttributes for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
+func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
+ req, out := c.DescribeAccountAttributesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAccountAttributes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
+ req, out := c.DescribeAccountAttributesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeAddresses = "DescribeAddresses"
+
+// DescribeAddressesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeAddresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeAddresses for more information on using the DescribeAddresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeAddressesRequest method.
+// req, resp := client.DescribeAddressesRequest(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/DescribeAddresses
+func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
+ op := &request.Operation{
+ Name: opDescribeAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAddressesInput{}
+ }
+
+ output = &DescribeAddressesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeAddresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
+func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
+ req, out := c.DescribeAddressesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
+ req, out := c.DescribeAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
+
+// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeAggregateIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeAggregateIdFormatRequest method.
+// req, resp := client.DescribeAggregateIdFormatRequest(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/DescribeAggregateIdFormat
+func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
+ op := &request.Operation{
+ Name: opDescribeAggregateIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAggregateIdFormatInput{}
+ }
+
+ output = &DescribeAggregateIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the longer ID format settings for all resource types in a specific
+// region. This request is useful for performing a quick audit to determine
+// whether a specific region is fully opted in for longer IDs (17-character
+// IDs).
+//
+// This request only returns information about resource types that support longer
+// IDs.
+//
+// The following resource types support longer IDs: bundle | conversion-task
+// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
+// | export-task | flow-log | image | import-task | instance | internet-gateway
+// | network-acl | network-acl-association | network-interface | network-interface-attachment
+// | prefix-list | reservation | route-table | route-table-association | security-group
+// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeAggregateIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
+func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
+ req, out := c.DescribeAggregateIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAggregateIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
+ req, out := c.DescribeAggregateIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
+
+// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeAvailabilityZones operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeAvailabilityZonesRequest method.
+// req, resp := client.DescribeAvailabilityZonesRequest(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/DescribeAvailabilityZones
+func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
+ op := &request.Operation{
+ Name: opDescribeAvailabilityZones,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAvailabilityZonesInput{}
+ }
+
+ output = &DescribeAvailabilityZonesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of the Availability Zones that are available to you.
+// The results include zones only for the region you're currently using. If
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeAvailabilityZones for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
+func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
+ req, out := c.DescribeAvailabilityZonesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAvailabilityZones for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
+ req, out := c.DescribeAvailabilityZonesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeBundleTasks = "DescribeBundleTasks"
+
+// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeBundleTasks operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeBundleTasks for more information on using the DescribeBundleTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeBundleTasksRequest method.
+// req, resp := client.DescribeBundleTasksRequest(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/DescribeBundleTasks
+func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
+ op := &request.Operation{
+ Name: opDescribeBundleTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeBundleTasksInput{}
+ }
+
+ output = &DescribeBundleTasksOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your bundling tasks.
+//
+// Completed bundle tasks are listed for only a limited time. If your bundle
+// task is no longer in the list, you can still register an AMI from it. Just
+// use RegisterImage with the Amazon S3 bucket name and image manifest name
+// you provided to the bundle task.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeBundleTasks for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
+func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
+ req, out := c.DescribeBundleTasksRequest(input)
+ return out, req.Send()
+}
+
+// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeBundleTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
+ req, out := c.DescribeBundleTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
+
+// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeClassicLinkInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeClassicLinkInstancesRequest method.
+// req, resp := client.DescribeClassicLinkInstancesRequest(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/DescribeClassicLinkInstances
+func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeClassicLinkInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeClassicLinkInstancesInput{}
+ }
+
+ output = &DescribeClassicLinkInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your linked EC2-Classic instances. This request
+// only returns information about EC2-Classic instances linked to a VPC through
+// ClassicLink; you cannot use this request to return information about other
+// 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 Elastic Compute Cloud's
+// API operation DescribeClassicLinkInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
+func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
+ req, out := c.DescribeClassicLinkInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeClassicLinkInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
+ req, out := c.DescribeClassicLinkInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeConversionTasks = "DescribeConversionTasks"
+
+// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeConversionTasks operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeConversionTasks for more information on using the DescribeConversionTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeConversionTasksRequest method.
+// req, resp := client.DescribeConversionTasksRequest(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/DescribeConversionTasks
+func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
+ op := &request.Operation{
+ Name: opDescribeConversionTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeConversionTasksInput{}
+ }
+
+ output = &DescribeConversionTasksOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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/).
+//
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeConversionTasks for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
+func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
+ req, out := c.DescribeConversionTasksRequest(input)
+ return out, req.Send()
+}
+
+// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeConversionTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
+ req, out := c.DescribeConversionTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeCustomerGateways = "DescribeCustomerGateways"
+
+// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeCustomerGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeCustomerGatewaysRequest method.
+// req, resp := client.DescribeCustomerGatewaysRequest(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/DescribeCustomerGateways
+func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeCustomerGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeCustomerGatewaysInput{}
+ }
+
+ output = &DescribeCustomerGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeCustomerGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
+func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
+ req, out := c.DescribeCustomerGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeCustomerGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
+ req, out := c.DescribeCustomerGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeDhcpOptions = "DescribeDhcpOptions"
+
+// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeDhcpOptions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeDhcpOptionsRequest method.
+// req, resp := client.DescribeDhcpOptionsRequest(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/DescribeDhcpOptions
+func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeDhcpOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeDhcpOptionsInput{}
+ }
+
+ output = &DescribeDhcpOptionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your DHCP options sets.
+//
+// For more information about DHCP options sets, see DHCP Options Sets (http://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
+// 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 DescribeDhcpOptions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
+func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
+ req, out := c.DescribeDhcpOptionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
+ req, out := c.DescribeDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
+
+// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
+// req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
+func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeEgressOnlyInternetGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeEgressOnlyInternetGatewaysInput{}
+ }
+
+ output = &DescribeEgressOnlyInternetGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your egress-only Internet gateways.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeEgressOnlyInternetGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
+func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
+ req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
+ req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeElasticGpus = "DescribeElasticGpus"
+
+// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeElasticGpus operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeElasticGpus for more information on using the DescribeElasticGpus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeElasticGpusRequest method.
+// req, resp := client.DescribeElasticGpusRequest(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/DescribeElasticGpus
+func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
+ op := &request.Operation{
+ Name: opDescribeElasticGpus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeElasticGpusInput{}
+ }
+
+ output = &DescribeElasticGpusOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the Elastic GPUs associated with your instances. For more information
+// about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.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 Elastic Compute Cloud's
+// API operation DescribeElasticGpus for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
+func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
+ req, out := c.DescribeElasticGpusRequest(input)
+ return out, req.Send()
+}
+
+// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeElasticGpus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
+ req, out := c.DescribeElasticGpusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeExportTasks = "DescribeExportTasks"
+
+// DescribeExportTasksRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeExportTasks operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeExportTasks for more information on using the DescribeExportTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeExportTasksRequest method.
+// req, resp := client.DescribeExportTasksRequest(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/DescribeExportTasks
+func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
+ op := &request.Operation{
+ Name: opDescribeExportTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeExportTasksInput{}
+ }
+
+ output = &DescribeExportTasksOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your export tasks.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeExportTasks for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
+func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
+ req, out := c.DescribeExportTasksRequest(input)
+ return out, req.Send()
+}
+
+// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeExportTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
+ req, out := c.DescribeExportTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFleetHistory = "DescribeFleetHistory"
+
+// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFleetHistory operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFleetHistory for more information on using the DescribeFleetHistory
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFleetHistoryRequest method.
+// req, resp := client.DescribeFleetHistoryRequest(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/DescribeFleetHistory
+func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
+ op := &request.Operation{
+ Name: opDescribeFleetHistory,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFleetHistoryInput{}
+ }
+
+ output = &DescribeFleetHistoryOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the events for the specified EC2 Fleet during the specified 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 Elastic Compute Cloud's
+// API operation DescribeFleetHistory for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
+func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
+ req, out := c.DescribeFleetHistoryRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFleetHistory for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
+ req, out := c.DescribeFleetHistoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFleetInstances = "DescribeFleetInstances"
+
+// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFleetInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFleetInstances for more information on using the DescribeFleetInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFleetInstancesRequest method.
+// req, resp := client.DescribeFleetInstancesRequest(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/DescribeFleetInstances
+func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeFleetInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFleetInstancesInput{}
+ }
+
+ output = &DescribeFleetInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the running instances for the specified EC2 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 Elastic Compute Cloud's
+// API operation DescribeFleetInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
+func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
+ req, out := c.DescribeFleetInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFleetInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
+ req, out := c.DescribeFleetInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFleets = "DescribeFleets"
+
+// DescribeFleetsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFleets operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFleets for more information on using the DescribeFleets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFleetsRequest method.
+// req, resp := client.DescribeFleetsRequest(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/DescribeFleets
+func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
+ op := &request.Operation{
+ Name: opDescribeFleets,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFleetsInput{}
+ }
+
+ output = &DescribeFleetsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFleets API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your EC2 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 Elastic Compute Cloud's
+// API operation DescribeFleets for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
+func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
+ req, out := c.DescribeFleetsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFleets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
+ req, out := c.DescribeFleetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFlowLogs = "DescribeFlowLogs"
+
+// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFlowLogs operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFlowLogs for more information on using the DescribeFlowLogs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFlowLogsRequest method.
+// req, resp := client.DescribeFlowLogsRequest(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/DescribeFlowLogs
+func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
+ op := &request.Operation{
+ Name: opDescribeFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFlowLogsInput{}
+ }
+
+ output = &DescribeFlowLogsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more flow logs. To view the information in your flow logs
+// (the log streams for the network interfaces), you must use the CloudWatch
+// Logs console or the CloudWatch Logs 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 Elastic Compute Cloud's
+// API operation DescribeFlowLogs for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
+func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
+ req, out := c.DescribeFlowLogsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
+ req, out := c.DescribeFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
+
+// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFpgaImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFpgaImageAttributeRequest method.
+// req, resp := client.DescribeFpgaImageAttributeRequest(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/DescribeFpgaImageAttribute
+func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeFpgaImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFpgaImageAttributeInput{}
+ }
+
+ output = &DescribeFpgaImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeFpgaImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
+func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
+ req, out := c.DescribeFpgaImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFpgaImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
+ req, out := c.DescribeFpgaImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFpgaImages = "DescribeFpgaImages"
+
+// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFpgaImages operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFpgaImages for more information on using the DescribeFpgaImages
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFpgaImagesRequest method.
+// req, resp := client.DescribeFpgaImagesRequest(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/DescribeFpgaImages
+func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
+ op := &request.Operation{
+ Name: opDescribeFpgaImages,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFpgaImagesInput{}
+ }
+
+ output = &DescribeFpgaImagesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more available Amazon FPGA Images (AFIs). These include
+// public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
+// for which you have load 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 Amazon Elastic Compute Cloud's
+// API operation DescribeFpgaImages for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
+func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
+ req, out := c.DescribeFpgaImagesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFpgaImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
+ req, out := c.DescribeFpgaImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
+
+// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeHostReservationOfferings operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeHostReservationOfferingsRequest method.
+// req, resp := client.DescribeHostReservationOfferingsRequest(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/DescribeHostReservationOfferings
+func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
+ op := &request.Operation{
+ Name: opDescribeHostReservationOfferings,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeHostReservationOfferingsInput{}
+ }
+
+ output = &DescribeHostReservationOfferingsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
+//
+// 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
+// Hosts. When purchasing an offering, ensure that the the instance family and
+// region of the offering matches that of the Dedicated Host/s it will be associated
+// with. For an overview of supported instance types, see Dedicated Hosts Overview
+// (http://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
+// 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 DescribeHostReservationOfferings for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
+func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
+ req, out := c.DescribeHostReservationOfferingsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHostReservationOfferings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
+ req, out := c.DescribeHostReservationOfferingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeHostReservations = "DescribeHostReservations"
+
+// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeHostReservations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeHostReservations for more information on using the DescribeHostReservations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeHostReservationsRequest method.
+// req, resp := client.DescribeHostReservationsRequest(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/DescribeHostReservations
+func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeHostReservations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeHostReservationsInput{}
+ }
+
+ output = &DescribeHostReservationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
+//
+// Describes Dedicated Host Reservations which are associated with Dedicated
+// Hosts 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 Elastic Compute Cloud's
+// API operation DescribeHostReservations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
+func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
+ req, out := c.DescribeHostReservationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHostReservations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
+ req, out := c.DescribeHostReservationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeHosts = "DescribeHosts"
+
+// DescribeHostsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeHosts operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeHosts for more information on using the DescribeHosts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeHostsRequest method.
+// req, resp := client.DescribeHostsRequest(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/DescribeHosts
+func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
+ op := &request.Operation{
+ Name: opDescribeHosts,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeHostsInput{}
+ }
+
+ output = &DescribeHostsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeHosts API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your Dedicated Hosts.
+//
+// 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 will be listed with the state released.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeHosts for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
+func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
+ req, out := c.DescribeHostsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeHostsWithContext is the same as DescribeHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
+ req, out := c.DescribeHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
+
+// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
+// req, resp := client.DescribeIamInstanceProfileAssociationsRequest(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/DescribeIamInstanceProfileAssociations
+func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeIamInstanceProfileAssociations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeIamInstanceProfileAssociationsInput{}
+ }
+
+ output = &DescribeIamInstanceProfileAssociationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your IAM instance profile associations.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeIamInstanceProfileAssociations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
+func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
+ req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
+ req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeIdFormat = "DescribeIdFormat"
+
+// DescribeIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeIdFormat for more information on using the DescribeIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeIdFormatRequest method.
+// req, resp := client.DescribeIdFormatRequest(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/DescribeIdFormat
+func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
+ op := &request.Operation{
+ Name: opDescribeIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeIdFormatInput{}
+ }
+
+ output = &DescribeIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the ID format settings for your resources on a per-region basis,
+// for example, to view which resource types 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.
+//
+// The following resource types support longer IDs: bundle | conversion-task
+// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
+// | export-task | flow-log | image | import-task | instance | internet-gateway
+// | network-acl | network-acl-association | network-interface | network-interface-attachment
+// | prefix-list | reservation | route-table | route-table-association | security-group
+// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
+//
+// These settings apply to the IAM user who makes the request; they do not apply
+// to the entire AWS account. By default, an IAM user defaults to the same settings
+// as the root user, unless they explicitly override the settings by running
+// the ModifyIdFormat command. Resources created with longer IDs are visible
+// to all IAM users, regardless of these settings and provided that they have
+// permission to use the relevant Describe command for the 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 Amazon Elastic Compute Cloud's
+// API operation DescribeIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
+func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
+ req, out := c.DescribeIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
+ req, out := c.DescribeIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
+
+// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeIdentityIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeIdentityIdFormatRequest method.
+// req, resp := client.DescribeIdentityIdFormatRequest(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/DescribeIdentityIdFormat
+func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
+ op := &request.Operation{
+ Name: opDescribeIdentityIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeIdentityIdFormatInput{}
+ }
+
+ output = &DescribeIdentityIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the ID format settings for resources for the specified IAM user,
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// The following resource types support longer IDs: bundle | conversion-task
+// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
+// | export-task | flow-log | image | import-task | instance | internet-gateway
+// | network-acl | network-acl-association | network-interface | network-interface-attachment
+// | prefix-list | reservation | route-table | route-table-association | security-group
+// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
+//
+// These settings apply to the principal specified in the request. They do not
+// apply to the principal that makes 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 Elastic Compute Cloud's
+// API operation DescribeIdentityIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
+func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
+ req, out := c.DescribeIdentityIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIdentityIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
+ req, out := c.DescribeIdentityIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeImageAttribute = "DescribeImageAttribute"
+
+// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeImageAttribute for more information on using the DescribeImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeImageAttributeRequest method.
+// req, resp := client.DescribeImageAttributeRequest(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/DescribeImageAttribute
+func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImageAttributeInput{}
+ }
+
+ output = &DescribeImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified attribute of the specified AMI. You can specify only
+// one attribute at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
+func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
+ req, out := c.DescribeImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
+ req, out := c.DescribeImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeImages = "DescribeImages"
+
+// DescribeImagesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeImages operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeImages for more information on using the DescribeImages
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeImagesRequest method.
+// req, resp := client.DescribeImagesRequest(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/DescribeImages
+func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
+ op := &request.Operation{
+ Name: opDescribeImages,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImagesInput{}
+ }
+
+ output = &DescribeImagesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeImages API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
+// Images available to you include public images, private images that you own,
+// and private images owned by other AWS accounts but for which you have explicit
+// launch permissions.
+//
+// Deregistered images are included in the returned results for an unspecified
+// interval after deregistration.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeImages for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
+func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
+ req, out := c.DescribeImagesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeImagesWithContext is the same as DescribeImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
+ req, out := c.DescribeImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeImportImageTasks = "DescribeImportImageTasks"
+
+// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeImportImageTasks operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeImportImageTasksRequest method.
+// req, resp := client.DescribeImportImageTasksRequest(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/DescribeImportImageTasks
+func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
+ op := &request.Operation{
+ Name: opDescribeImportImageTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImportImageTasksInput{}
+ }
+
+ output = &DescribeImportImageTasksOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
+//
+// Displays details about an import virtual machine or import snapshot tasks
+// that are already 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 Elastic Compute Cloud's
+// API operation DescribeImportImageTasks for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
+func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
+ req, out := c.DescribeImportImageTasksRequest(input)
+ return out, req.Send()
+}
+
+// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImportImageTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
+ req, out := c.DescribeImportImageTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
+
+// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeImportSnapshotTasks operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeImportSnapshotTasksRequest method.
+// req, resp := client.DescribeImportSnapshotTasksRequest(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/DescribeImportSnapshotTasks
+func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
+ op := &request.Operation{
+ Name: opDescribeImportSnapshotTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImportSnapshotTasksInput{}
+ }
+
+ output = &DescribeImportSnapshotTasksOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your import snapshot tasks.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeImportSnapshotTasks for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
+func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
+ req, out := c.DescribeImportSnapshotTasksRequest(input)
+ return out, req.Send()
+}
+
+// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImportSnapshotTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
+ req, out := c.DescribeImportSnapshotTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
+
+// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeInstanceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeInstanceAttributeRequest method.
+// req, resp := client.DescribeInstanceAttributeRequest(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/DescribeInstanceAttribute
+func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeInstanceAttributeInput{}
+ }
+
+ output = &DescribeInstanceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified attribute of the specified instance. You can specify
+// only one attribute at a time. Valid attribute values are: instanceType |
+// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
+// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
+// groupSet | ebsOptimized | sriovNetSupport
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeInstanceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
+func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
+ req, out := c.DescribeInstanceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
+ req, out := c.DescribeInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
+
+// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
+// req, resp := client.DescribeInstanceCreditSpecificationsRequest(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/DescribeInstanceCreditSpecifications
+func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeInstanceCreditSpecifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeInstanceCreditSpecificationsInput{}
+ }
+
+ output = &DescribeInstanceCreditSpecificationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the credit option for CPU usage of one or more of your T2 instances.
+// The credit options are standard and unlimited.
+//
+// If you do not specify an instance ID, Amazon EC2 returns only the T2 instances
+// with the unlimited credit option. If you specify one or more instance IDs,
+// Amazon EC2 returns the credit option (standard or unlimited) of those instances.
+// If you specify an instance ID that is not valid, such as an instance that
+// is not a T2 instance, an error is returned.
+//
+// Recently terminated instances might appear in the returned results. This
+// interval is usually less than one hour.
+//
+// If an Availability Zone is experiencing a service disruption and you specify
+// instance IDs in the affected zone, or do not specify any instance IDs at
+// all, the call fails. If you specify only instance IDs in an unaffected zone,
+// the call works normally.
+//
+// For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeInstanceCreditSpecifications for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
+func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
+ req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
+ req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeInstanceStatus = "DescribeInstanceStatus"
+
+// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeInstanceStatus operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeInstanceStatusRequest method.
+// req, resp := client.DescribeInstanceStatusRequest(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/DescribeInstanceStatus
+func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
+ op := &request.Operation{
+ Name: opDescribeInstanceStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeInstanceStatusInput{}
+ }
+
+ output = &DescribeInstanceStatusOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the status of one or more instances. By default, only running instances
+// are described, unless you specifically indicate to return the status of all
+// instances.
+//
+// Instance status includes the following components:
+//
+// * 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)
+// 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)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeInstanceStatus for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
+func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
+ req, out := c.DescribeInstanceStatusRequest(input)
+ return out, req.Send()
+}
+
+// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstanceStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
+ req, out := c.DescribeInstanceStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeInstanceStatus 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 DescribeInstanceStatus operation.
+// pageNum := 0
+// err := client.DescribeInstanceStatusPages(params,
+// func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
+ return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages 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 *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeInstances = "DescribeInstances"
+
+// DescribeInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeInstances for more information on using the DescribeInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeInstancesRequest method.
+// req, resp := client.DescribeInstancesRequest(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/DescribeInstances
+func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeInstancesInput{}
+ }
+
+ output = &DescribeInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your instances.
+//
+// If you specify one or more instance IDs, Amazon EC2 returns information for
+// those instances. If you do not specify instance IDs, Amazon EC2 returns information
+// for all relevant instances. If you specify an instance ID that is not valid,
+// an error is returned. If you specify an instance that you do not own, it
+// is not included in the returned results.
+//
+// Recently terminated instances might appear in the returned results. This
+// interval is usually less than one hour.
+//
+// If you describe instances in the rare case where an Availability Zone is
+// experiencing a service disruption and you specify instance IDs that are in
+// the affected zone, or do not specify any instance IDs at all, the call fails.
+// If you describe instances and specify only instance IDs that are in an unaffected
+// zone, the call works normally.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
+func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
+ req, out := c.DescribeInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
+ req, out := c.DescribeInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeInstances method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a DescribeInstances operation.
+// pageNum := 0
+// err := client.DescribeInstancesPages(params,
+// func(page *DescribeInstancesOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
+ return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeInternetGateways = "DescribeInternetGateways"
+
+// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeInternetGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeInternetGateways for more information on using the DescribeInternetGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeInternetGatewaysRequest method.
+// req, resp := client.DescribeInternetGatewaysRequest(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/DescribeInternetGateways
+func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeInternetGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeInternetGatewaysInput{}
+ }
+
+ output = &DescribeInternetGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your Internet gateways.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeInternetGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
+func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
+ req, out := c.DescribeInternetGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInternetGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
+ req, out := c.DescribeInternetGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeKeyPairs = "DescribeKeyPairs"
+
+// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeKeyPairs operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeKeyPairs for more information on using the DescribeKeyPairs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeKeyPairsRequest method.
+// req, resp := client.DescribeKeyPairsRequest(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/DescribeKeyPairs
+func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
+ op := &request.Operation{
+ Name: opDescribeKeyPairs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeKeyPairsInput{}
+ }
+
+ output = &DescribeKeyPairsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeKeyPairs for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
+func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
+ req, out := c.DescribeKeyPairsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeKeyPairs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
+ req, out := c.DescribeKeyPairsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
+
+// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
+// req, resp := client.DescribeLaunchTemplateVersionsRequest(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/DescribeLaunchTemplateVersions
+func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeLaunchTemplateVersions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLaunchTemplateVersionsInput{}
+ }
+
+ output = &DescribeLaunchTemplateVersionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more versions of a specified launch template. You can describe
+// all versions, individual versions, or a range of versions.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLaunchTemplateVersions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
+func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
+ req, out := c.DescribeLaunchTemplateVersionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLaunchTemplateVersions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
+ req, out := c.DescribeLaunchTemplateVersionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
+
+// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLaunchTemplates operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLaunchTemplatesRequest method.
+// req, resp := client.DescribeLaunchTemplatesRequest(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/DescribeLaunchTemplates
+func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
+ op := &request.Operation{
+ Name: opDescribeLaunchTemplates,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLaunchTemplatesInput{}
+ }
+
+ output = &DescribeLaunchTemplatesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more launch 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 Amazon Elastic Compute Cloud's
+// API operation DescribeLaunchTemplates for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
+func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
+ req, out := c.DescribeLaunchTemplatesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLaunchTemplates for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
+ req, out := c.DescribeLaunchTemplatesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeMovingAddresses = "DescribeMovingAddresses"
+
+// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeMovingAddresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeMovingAddressesRequest method.
+// req, resp := client.DescribeMovingAddressesRequest(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/DescribeMovingAddresses
+func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
+ op := &request.Operation{
+ Name: opDescribeMovingAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeMovingAddressesInput{}
+ }
+
+ output = &DescribeMovingAddressesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
+// or that are being restored to the EC2-Classic platform. This request does
+// not return information about any other Elastic IP addresses 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 Elastic Compute Cloud's
+// API operation DescribeMovingAddresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
+func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
+ req, out := c.DescribeMovingAddressesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeMovingAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
+ req, out := c.DescribeMovingAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeNatGateways = "DescribeNatGateways"
+
+// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNatGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNatGateways for more information on using the DescribeNatGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNatGatewaysRequest method.
+// req, resp := client.DescribeNatGatewaysRequest(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/DescribeNatGateways
+func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeNatGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeNatGatewaysInput{}
+ }
+
+ output = &DescribeNatGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of the your NAT gateways.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeNatGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
+func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
+ req, out := c.DescribeNatGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNatGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
+ req, out := c.DescribeNatGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeNatGateways 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 DescribeNatGateways operation.
+// pageNum := 0
+// err := client.DescribeNatGatewaysPages(params,
+// func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
+ return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages 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 *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeNatGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNatGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeNetworkAcls = "DescribeNetworkAcls"
+
+// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNetworkAcls operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNetworkAclsRequest method.
+// req, resp := client.DescribeNetworkAclsRequest(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/DescribeNetworkAcls
+func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
+ op := &request.Operation{
+ Name: opDescribeNetworkAcls,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkAclsInput{}
+ }
+
+ output = &DescribeNetworkAclsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your network ACLs.
+//
+// For more information about network ACLs, see Network ACLs (http://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
+// 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 DescribeNetworkAcls for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
+func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
+ req, out := c.DescribeNetworkAclsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkAcls for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
+ req, out := c.DescribeNetworkAclsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
+
+// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
+// req, resp := client.DescribeNetworkInterfaceAttributeRequest(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/DescribeNetworkInterfaceAttribute
+func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfaceAttributeInput{}
+ }
+
+ output = &DescribeNetworkInterfaceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Describes a network interface attribute. You can specify only one attribute
+// at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeNetworkInterfaceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
+func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
+ req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
+ req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
+
+// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
+// req, resp := client.DescribeNetworkInterfacePermissionsRequest(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/DescribeNetworkInterfacePermissions
+func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeNetworkInterfacePermissions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfacePermissionsInput{}
+ }
+
+ output = &DescribeNetworkInterfacePermissionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the permissions for your network interfaces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeNetworkInterfacePermissions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
+func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
+ req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
+ req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
+
+// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNetworkInterfaces operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNetworkInterfacesRequest method.
+// req, resp := client.DescribeNetworkInterfacesRequest(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/DescribeNetworkInterfaces
+func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
+ op := &request.Operation{
+ Name: opDescribeNetworkInterfaces,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfacesInput{}
+ }
+
+ output = &DescribeNetworkInterfacesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your network interfaces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeNetworkInterfaces for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
+func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
+ req, out := c.DescribeNetworkInterfacesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfaces for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
+ req, out := c.DescribeNetworkInterfacesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribePlacementGroups = "DescribePlacementGroups"
+
+// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribePlacementGroups operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribePlacementGroups for more information on using the DescribePlacementGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribePlacementGroupsRequest method.
+// req, resp := client.DescribePlacementGroupsRequest(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/DescribePlacementGroups
+func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
+ op := &request.Operation{
+ Name: opDescribePlacementGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribePlacementGroupsInput{}
+ }
+
+ output = &DescribePlacementGroupsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribePlacementGroups for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
+func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
+ req, out := c.DescribePlacementGroupsRequest(input)
+ return out, req.Send()
+}
+
+// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribePlacementGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
+ req, out := c.DescribePlacementGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribePrefixLists = "DescribePrefixLists"
+
+// DescribePrefixListsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribePrefixLists operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribePrefixLists for more information on using the DescribePrefixLists
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribePrefixListsRequest method.
+// req, resp := client.DescribePrefixListsRequest(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/DescribePrefixLists
+func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
+ op := &request.Operation{
+ Name: opDescribePrefixLists,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribePrefixListsInput{}
+ }
+
+ output = &DescribePrefixListsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
+//
+// Describes available AWS services in a prefix list format, which includes
+// the prefix list name and prefix list ID of the service and the IP address
+// range for the service. A prefix list ID is required for creating an outbound
+// security group rule that allows traffic from a VPC to access an AWS service
+// through a gateway VPC endpoint. Currently, the services that support this
+// action are Amazon S3 and Amazon DynamoDB.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribePrefixLists for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
+func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
+ req, out := c.DescribePrefixListsRequest(input)
+ return out, req.Send()
+}
+
+// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribePrefixLists for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
+ req, out := c.DescribePrefixListsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
+
+// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the DescribePrincipalIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribePrincipalIdFormatRequest method.
+// req, resp := client.DescribePrincipalIdFormatRequest(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/DescribePrincipalIdFormat
+func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
+ op := &request.Operation{
+ Name: opDescribePrincipalIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribePrincipalIdFormatInput{}
+ }
+
+ output = &DescribePrincipalIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the ID format settings for the root user and all IAM roles and
+// IAM users that have explicitly specified a longer ID (17-character ID) preference.
+//
+// By default, all IAM roles and IAM users default to the same ID settings as
+// the root user, unless they explicitly override the settings. This request
+// is useful for identifying those IAM users and IAM roles that have overridden
+// the default ID settings.
+//
+// The following resource types support longer IDs: bundle | conversion-task
+// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
+// | export-task | flow-log | image | import-task | instance | internet-gateway
+// | network-acl | network-acl-association | network-interface | network-interface-attachment
+// | prefix-list | reservation | route-table | route-table-association | security-group
+// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribePrincipalIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
+func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
+ req, out := c.DescribePrincipalIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribePrincipalIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
+ req, out := c.DescribePrincipalIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeRegions = "DescribeRegions"
+
+// DescribeRegionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeRegions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeRegions for more information on using the DescribeRegions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeRegionsRequest method.
+// req, resp := client.DescribeRegionsRequest(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/DescribeRegions
+func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeRegions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeRegionsInput{}
+ }
+
+ output = &DescribeRegionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeRegions API operation for Amazon Elastic Compute Cloud.
+//
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeRegions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
+func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
+ req, out := c.DescribeRegionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeRegions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
+ req, out := c.DescribeRegionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeReservedInstances = "DescribeReservedInstances"
+
+// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeReservedInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeReservedInstances for more information on using the DescribeReservedInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeReservedInstancesRequest method.
+// req, resp := client.DescribeReservedInstancesRequest(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/DescribeReservedInstances
+func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeReservedInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesInput{}
+ }
+
+ output = &DescribeReservedInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeReservedInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
+func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
+ req, out := c.DescribeReservedInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
+ req, out := c.DescribeReservedInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
+
+// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeReservedInstancesListings operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeReservedInstancesListingsRequest method.
+// req, resp := client.DescribeReservedInstancesListingsRequest(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/DescribeReservedInstancesListings
+func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
+ op := &request.Operation{
+ Name: opDescribeReservedInstancesListings,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesListingsInput{}
+ }
+
+ output = &DescribeReservedInstancesListingsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your account's Reserved Instance listings in the Reserved Instance
+// Marketplace.
+//
+// The Reserved Instance Marketplace matches sellers who want to resell Reserved
+// Instance capacity that they no longer need with buyers who want to purchase
+// additional capacity. Reserved Instances bought and sold through the Reserved
+// Instance Marketplace work like any other Reserved Instances.
+//
+// As a seller, you choose to list some or all of your Reserved Instances, and
+// you specify the upfront price to receive for them. Your Reserved Instances
+// are then listed in the Reserved Instance Marketplace and are available for
+// purchase.
+//
+// As a buyer, you specify the configuration of the Reserved Instance to purchase,
+// and the Marketplace matches what you're searching for with what's available.
+// The Marketplace first sells the lowest priced Reserved Instances to you,
+// and continues to sell available Reserved Instance listings to you until your
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeReservedInstancesListings for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
+func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
+ req, out := c.DescribeReservedInstancesListingsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesListings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
+ req, out := c.DescribeReservedInstancesListingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
+
+// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeReservedInstancesModifications operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
+// req, resp := client.DescribeReservedInstancesModificationsRequest(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/DescribeReservedInstancesModifications
+func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeReservedInstancesModifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesModificationsInput{}
+ }
+
+ output = &DescribeReservedInstancesModificationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the modifications made to your Reserved Instances. If no parameter
+// is specified, information about all your Reserved Instances modification
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeReservedInstancesModifications for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
+func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
+ req, out := c.DescribeReservedInstancesModificationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesModifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
+ req, out := c.DescribeReservedInstancesModificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeReservedInstancesModifications 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 DescribeReservedInstancesModifications operation.
+// pageNum := 0
+// err := client.DescribeReservedInstancesModificationsPages(params,
+// func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
+ return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages 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 *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeReservedInstancesModificationsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
+
+// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
+// req, resp := client.DescribeReservedInstancesOfferingsRequest(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/DescribeReservedInstancesOfferings
+func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
+ op := &request.Operation{
+ Name: opDescribeReservedInstancesOfferings,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesOfferingsInput{}
+ }
+
+ output = &DescribeReservedInstancesOfferingsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
+//
+// Describes Reserved Instance offerings that are available for purchase. With
+// Reserved Instances, you purchase the right to launch instances for a period
+// of time. During that time period, you do not receive insufficient capacity
+// errors, and you pay a lower usage rate than the rate charged for On-Demand
+// instances for the actual time used.
+//
+// If you have listed your own Reserved Instances for sale in the Reserved Instance
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeReservedInstancesOfferings for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
+func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
+ req, out := c.DescribeReservedInstancesOfferingsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesOfferings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
+ req, out := c.DescribeReservedInstancesOfferingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeReservedInstancesOfferings 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 DescribeReservedInstancesOfferings operation.
+// pageNum := 0
+// err := client.DescribeReservedInstancesOfferingsPages(params,
+// func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
+ return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages 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 *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeReservedInstancesOfferingsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeRouteTables = "DescribeRouteTables"
+
+// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeRouteTables operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeRouteTables for more information on using the DescribeRouteTables
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeRouteTablesRequest method.
+// req, resp := client.DescribeRouteTablesRequest(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/DescribeRouteTables
+func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
+ op := &request.Operation{
+ Name: opDescribeRouteTables,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeRouteTablesInput{}
+ }
+
+ output = &DescribeRouteTablesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your route tables.
+//
+// Each subnet in your VPC must be associated with a route table. If a subnet
+// is not explicitly associated with any route table, it is implicitly associated
+// with the main route table. This command does not return the subnet ID for
+// implicit associations.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeRouteTables for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
+func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
+ req, out := c.DescribeRouteTablesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeRouteTables for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
+ req, out := c.DescribeRouteTablesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
+
+// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
+// req, resp := client.DescribeScheduledInstanceAvailabilityRequest(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/DescribeScheduledInstanceAvailability
+func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
+ op := &request.Operation{
+ Name: opDescribeScheduledInstanceAvailability,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeScheduledInstanceAvailabilityInput{}
+ }
+
+ output = &DescribeScheduledInstanceAvailabilityOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
+//
+// Finds available schedules that meet the specified criteria.
+//
+// You can search for an available schedule no more than 3 months in advance.
+// You must meet the minimum required duration of 1,200 hours per year. For
+// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
+// is 24 hours, and the minimum monthly schedule is 100 hours.
+//
+// After you find a schedule that meets your needs, call PurchaseScheduledInstances
+// to purchase Scheduled Instances with that 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 Amazon Elastic Compute Cloud's
+// API operation DescribeScheduledInstanceAvailability for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
+func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
+ req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
+ return out, req.Send()
+}
+
+// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
+ req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeScheduledInstances = "DescribeScheduledInstances"
+
+// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeScheduledInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeScheduledInstancesRequest method.
+// req, resp := client.DescribeScheduledInstancesRequest(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/DescribeScheduledInstances
+func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeScheduledInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeScheduledInstancesInput{}
+ }
+
+ output = &DescribeScheduledInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your Scheduled 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 Elastic Compute Cloud's
+// API operation DescribeScheduledInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
+func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
+ req, out := c.DescribeScheduledInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
+ req, out := c.DescribeScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
+
+// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSecurityGroupReferences operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
+// req, resp := client.DescribeSecurityGroupReferencesRequest(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/DescribeSecurityGroupReferences
+func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
+ op := &request.Operation{
+ Name: opDescribeSecurityGroupReferences,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSecurityGroupReferencesInput{}
+ }
+
+ output = &DescribeSecurityGroupReferencesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
+//
+// [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
+// that are referencing the security groups you've specified in this 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 Elastic Compute Cloud's
+// API operation DescribeSecurityGroupReferences for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
+func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
+ req, out := c.DescribeSecurityGroupReferencesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSecurityGroupReferences for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
+ req, out := c.DescribeSecurityGroupReferencesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSecurityGroups = "DescribeSecurityGroups"
+
+// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSecurityGroups operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSecurityGroupsRequest method.
+// req, resp := client.DescribeSecurityGroupsRequest(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/DescribeSecurityGroups
+func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
+ op := &request.Operation{
+ Name: opDescribeSecurityGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSecurityGroupsInput{}
+ }
+
+ output = &DescribeSecurityGroupsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your security groups.
+//
+// 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)
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeSecurityGroups for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
+func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
+ req, out := c.DescribeSecurityGroupsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSecurityGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
+ req, out := c.DescribeSecurityGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
+
+// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSnapshotAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSnapshotAttributeRequest method.
+// req, resp := client.DescribeSnapshotAttributeRequest(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/DescribeSnapshotAttribute
+func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeSnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSnapshotAttributeInput{}
+ }
+
+ output = &DescribeSnapshotAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeSnapshotAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
+func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
+ req, out := c.DescribeSnapshotAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
+ req, out := c.DescribeSnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSnapshots = "DescribeSnapshots"
+
+// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSnapshots operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSnapshots for more information on using the DescribeSnapshots
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSnapshotsRequest method.
+// req, resp := client.DescribeSnapshotsRequest(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/DescribeSnapshots
+func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
+ op := &request.Operation{
+ Name: opDescribeSnapshots,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeSnapshotsInput{}
+ }
+
+ output = &DescribeSnapshotsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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.
+//
+// The create volume permissions fall into the following categories:
+//
+// * public: The owner of the snapshot granted create volume permissions
+// for the snapshot to the all group. All AWS accounts have create volume
+// permissions for these snapshots.
+//
+// * explicit: The owner of the snapshot granted create volume permissions
+// to a specific AWS account.
+//
+// * implicit: An AWS account has implicit create volume permissions for
+// all snapshots it owns.
+//
+// The list of snapshots returned can be modified by specifying snapshot IDs,
+// snapshot owners, or AWS accounts with create volume permissions. If no options
+// are specified, Amazon EC2 returns all snapshots for which you have create
+// volume permissions.
+//
+// If you specify one or more snapshot IDs, only snapshots that have the specified
+// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
+// If you specify a snapshot ID for which you do not have access, it is not
+// included in the returned results.
+//
+// If you specify one or more snapshot owners using the OwnerIds option, only
+// snapshots from the specified owners and for which you have access are returned.
+// The results can include the AWS account IDs of the specified owners, amazon
+// for snapshots owned by Amazon, or self for snapshots that you own.
+//
+// If you specify a list of restorable users, only snapshots with create snapshot
+// permissions for those users are returned. You can specify AWS account IDs
+// (if you own the snapshots), self for snapshots for which you own or have
+// explicit permissions, or all for public snapshots.
+//
+// If you are describing a long list of snapshots, you can paginate the output
+// to make the list more manageable. The MaxResults parameter sets the maximum
+// number of results returned in a single page. 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 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeSnapshots for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
+func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
+ req, out := c.DescribeSnapshotsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSnapshots for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
+ req, out := c.DescribeSnapshotsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeSnapshots 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 DescribeSnapshots operation.
+// pageNum := 0
+// err := client.DescribeSnapshotsPages(params,
+// func(page *DescribeSnapshotsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
+ return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages 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 *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSnapshotsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSnapshotsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
+
+// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
+// req, resp := client.DescribeSpotDatafeedSubscriptionRequest(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/DescribeSpotDatafeedSubscription
+func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotDatafeedSubscriptionInput{}
+ }
+
+ output = &DescribeSpotDatafeedSubscriptionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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)
+// in the Amazon EC2 User Guide for Linux 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 Elastic Compute Cloud's
+// API operation DescribeSpotDatafeedSubscription for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
+func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
+
+// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotFleetInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotFleetInstancesRequest method.
+// req, resp := client.DescribeSpotFleetInstancesRequest(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/DescribeSpotFleetInstances
+func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotFleetInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetInstancesInput{}
+ }
+
+ output = &DescribeSpotFleetInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the running instances for the specified Spot 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 Elastic Compute Cloud's
+// API operation DescribeSpotFleetInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
+func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
+ req, out := c.DescribeSpotFleetInstancesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
+ req, out := c.DescribeSpotFleetInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
+
+// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
+// req, resp := client.DescribeSpotFleetRequestHistoryRequest(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/DescribeSpotFleetRequestHistory
+func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotFleetRequestHistory,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetRequestHistoryInput{}
+ }
+
+ output = &DescribeSpotFleetRequestHistoryOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the events for the specified Spot Fleet request during the specified
+// time.
+//
+// Spot Fleet events are delayed by up to 30 seconds before they can be described.
+// This ensures that you can query by the last evaluated time and not miss a
+// recorded 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 DescribeSpotFleetRequestHistory for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
+func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
+ req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
+ req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
+
+// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotFleetRequests operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotFleetRequestsRequest method.
+// req, resp := client.DescribeSpotFleetRequestsRequest(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/DescribeSpotFleetRequests
+func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotFleetRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetRequestsInput{}
+ }
+
+ output = &DescribeSpotFleetRequestsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your Spot Fleet requests.
+//
+// Spot Fleet requests are deleted 48 hours after they are canceled and their
+// instances 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 DescribeSpotFleetRequests for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
+func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
+ req, out := c.DescribeSpotFleetRequestsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
+ req, out := c.DescribeSpotFleetRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeSpotFleetRequests 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 DescribeSpotFleetRequests operation.
+// pageNum := 0
+// err := client.DescribeSpotFleetRequestsPages(params,
+// func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
+ return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages 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 *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSpotFleetRequestsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
+
+// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotInstanceRequests operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
+// req, resp := client.DescribeSpotInstanceRequestsRequest(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/DescribeSpotInstanceRequests
+func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotInstanceRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotInstanceRequestsInput{}
+ }
+
+ output = &DescribeSpotInstanceRequestsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified Spot Instance requests.
+//
+// You can use DescribeSpotInstanceRequests to find a running Spot Instance
+// by examining the response. If the status of the Spot Instance is fulfilled,
+// the instance ID appears in the response and contains the identifier of the
+// instance. Alternatively, you can use DescribeInstances with a filter to look
+// for instances where the instance lifecycle is spot.
+//
+// Spot Instance requests are deleted four hours after they are canceled and
+// their instances 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 DescribeSpotInstanceRequests for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
+func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
+ req, out := c.DescribeSpotInstanceRequestsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotInstanceRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
+ req, out := c.DescribeSpotInstanceRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
+
+// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSpotPriceHistory operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSpotPriceHistoryRequest method.
+// req, resp := client.DescribeSpotPriceHistoryRequest(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/DescribeSpotPriceHistory
+func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
+ op := &request.Operation{
+ Name: opDescribeSpotPriceHistory,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeSpotPriceHistoryInput{}
+ }
+
+ output = &DescribeSpotPriceHistoryOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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)
+// in the Amazon EC2 User Guide for Linux Instances.
+//
+// When you specify a start and end time, this operation returns the prices
+// of the instance types within the time range that you specified and the time
+// when the price changed. The price is valid within the time period that you
+// specified; the response merely indicates the last time that the price 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 Elastic Compute Cloud's
+// API operation DescribeSpotPriceHistory for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
+func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
+ req, out := c.DescribeSpotPriceHistoryRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotPriceHistory for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
+ req, out := c.DescribeSpotPriceHistoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeSpotPriceHistory 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 DescribeSpotPriceHistory operation.
+// pageNum := 0
+// err := client.DescribeSpotPriceHistoryPages(params,
+// func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
+ return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages 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 *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSpotPriceHistoryInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
+
+// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeStaleSecurityGroups operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
+// req, resp := client.DescribeStaleSecurityGroupsRequest(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/DescribeStaleSecurityGroups
+func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
+ op := &request.Operation{
+ Name: opDescribeStaleSecurityGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeStaleSecurityGroupsInput{}
+ }
+
+ output = &DescribeStaleSecurityGroupsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
+//
+// [EC2-VPC only] Describes the stale security group rules for security groups
+// in a specified VPC. Rules are stale when they reference a deleted security
+// group in a peer VPC, or a security group in a peer VPC for which the VPC
+// peering connection has been 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 Elastic Compute Cloud's
+// API operation DescribeStaleSecurityGroups for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
+func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
+ req, out := c.DescribeStaleSecurityGroupsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeStaleSecurityGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
+ req, out := c.DescribeStaleSecurityGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeSubnets = "DescribeSubnets"
+
+// DescribeSubnetsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeSubnets operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeSubnets for more information on using the DescribeSubnets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeSubnetsRequest method.
+// req, resp := client.DescribeSubnetsRequest(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/DescribeSubnets
+func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
+ op := &request.Operation{
+ Name: opDescribeSubnets,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSubnetsInput{}
+ }
+
+ output = &DescribeSubnetsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your subnets.
+//
+// For more information about subnets, see Your VPC and Subnets (http://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
+// 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 DescribeSubnets for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
+func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
+ req, out := c.DescribeSubnetsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSubnets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
+ req, out := c.DescribeSubnetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeTags = "DescribeTags"
+
+// DescribeTagsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeTags operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeTags for more information on using the DescribeTags
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeTagsRequest method.
+// req, resp := client.DescribeTagsRequest(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/DescribeTags
+func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
+ op := &request.Operation{
+ Name: opDescribeTags,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeTagsInput{}
+ }
+
+ output = &DescribeTagsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeTags API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeTags for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
+func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
+ req, out := c.DescribeTagsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeTagsWithContext is the same as DescribeTags with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeTags for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
+ req, out := c.DescribeTagsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeTagsPages iterates over the pages of a DescribeTags operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeTags 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 DescribeTags operation.
+// pageNum := 0
+// err := client.DescribeTagsPages(params,
+// func(page *DescribeTagsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
+ return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeTagsPagesWithContext same as DescribeTagsPages 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 *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeTagsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeTagsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
+
+// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVolumeAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVolumeAttributeRequest method.
+// req, resp := client.DescribeVolumeAttributeRequest(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/DescribeVolumeAttribute
+func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeVolumeAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVolumeAttributeInput{}
+ }
+
+ output = &DescribeVolumeAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeVolumeAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
+func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
+ req, out := c.DescribeVolumeAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumeAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
+ req, out := c.DescribeVolumeAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVolumeStatus = "DescribeVolumeStatus"
+
+// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVolumeStatus operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVolumeStatusRequest method.
+// req, resp := client.DescribeVolumeStatusRequest(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/DescribeVolumeStatus
+func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
+ op := &request.Operation{
+ Name: opDescribeVolumeStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeVolumeStatusInput{}
+ }
+
+ output = &DescribeVolumeStatusOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the status of the specified volumes. Volume status provides the
+// result of the checks performed on your volumes to determine events that can
+// impair the performance of your volumes. The performance of a volume can be
+// affected if an issue occurs on the volume's underlying host. If the volume's
+// underlying host experiences a power outage or system issue, after the system
+// is restored, there could be data inconsistencies on the volume. Volume events
+// notify you if this occurs. Volume actions notify you if any action needs
+// to be taken in response to the event.
+//
+// The DescribeVolumeStatus operation provides the following information about
+// the specified volumes:
+//
+// Status: Reflects the current status of the volume. The possible values are
+// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
+// status of the volume is ok. If the check fails, the overall status is impaired.
+// 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 on volume status, see Monitoring the Status of Your Volumes
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
+//
+// Events: Reflect the cause of a volume status and may require you to take
+// action. For example, if your volume returns an impaired status, then the
+// volume event might be potential-data-inconsistency. This means that your
+// volume has been affected by an issue with the underlying host, has all I/O
+// operations disabled, and may have inconsistent data.
+//
+// Actions: Reflect the actions you may have to take in response to an event.
+// For example, if the status of the volume is impaired and the volume event
+// shows potential-data-inconsistency, then the action shows enable-volume-io.
+// This means that you may want to enable the I/O operations for the volume
+// by calling the EnableVolumeIO action and then check the volume for data consistency.
+//
+// Volume status is based on the volume status checks, and does not reflect
+// the volume state. Therefore, volume status does not indicate volumes in the
+// error state (for example, when a volume is incapable of accepting I/O.)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVolumeStatus for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
+func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
+ req, out := c.DescribeVolumeStatusRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumeStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
+ req, out := c.DescribeVolumeStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeVolumeStatus 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 DescribeVolumeStatus operation.
+// pageNum := 0
+// err := client.DescribeVolumeStatusPages(params,
+// func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
+ return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages 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 *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeVolumeStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumeStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeVolumes = "DescribeVolumes"
+
+// DescribeVolumesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVolumes operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVolumes for more information on using the DescribeVolumes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVolumesRequest method.
+// req, resp := client.DescribeVolumesRequest(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/DescribeVolumes
+func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
+ op := &request.Operation{
+ Name: opDescribeVolumes,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeVolumesInput{}
+ }
+
+ output = &DescribeVolumesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified EBS volumes.
+//
+// If you are describing a long list of volumes, you can paginate the output
+// to make the list more manageable. The MaxResults parameter sets the maximum
+// number of results returned in a single page. 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 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeVolumes for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
+func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
+ req, out := c.DescribeVolumesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
+ req, out := c.DescribeVolumesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeVolumes 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 DescribeVolumes operation.
+// pageNum := 0
+// err := client.DescribeVolumesPages(params,
+// func(page *DescribeVolumesOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
+ return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeVolumesPagesWithContext same as DescribeVolumesPages 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 *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opDescribeVolumesModifications = "DescribeVolumesModifications"
+
+// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVolumesModifications operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVolumesModificationsRequest method.
+// req, resp := client.DescribeVolumesModificationsRequest(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/DescribeVolumesModifications
+func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVolumesModifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVolumesModificationsInput{}
+ }
+
+ output = &DescribeVolumesModificationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
+//
+// Reports the current modification status of EBS volumes.
+//
+// Current-generation EBS volumes support modification of attributes including
+// type, size, and (for io1 volumes) IOPS provisioning while either attached
+// to or detached from an instance. Following an action from the API or the
+// console to modify a volume, the status of the modification may be modifying,
+// optimizing, completed, or failed. If a volume has never been modified, then
+// certain elements of the returned VolumeModification objects are null.
+//
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVolumesModifications for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
+func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
+ req, out := c.DescribeVolumesModificationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumesModifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
+ req, out := c.DescribeVolumesModificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcAttribute = "DescribeVpcAttribute"
+
+// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcAttributeRequest method.
+// req, resp := client.DescribeVpcAttributeRequest(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/DescribeVpcAttribute
+func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcAttributeInput{}
+ }
+
+ output = &DescribeVpcAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified attribute of the specified VPC. You can specify only
+// one attribute at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeVpcAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
+func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
+ req, out := c.DescribeVpcAttributeRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
+ req, out := c.DescribeVpcAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
+
+// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcClassicLink operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcClassicLinkRequest method.
+// req, resp := client.DescribeVpcClassicLinkRequest(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/DescribeVpcClassicLink
+func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcClassicLinkInput{}
+ }
+
+ output = &DescribeVpcClassicLinkOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the ClassicLink status of one or more VPCs.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcClassicLink for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
+func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
+ req, out := c.DescribeVpcClassicLinkRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
+ req, out := c.DescribeVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
+
+// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
+// req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(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/DescribeVpcClassicLinkDnsSupport
+func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcClassicLinkDnsSupport,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcClassicLinkDnsSupportInput{}
+ }
+
+ output = &DescribeVpcClassicLinkDnsSupportOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
+// the DNS hostname of a linked EC2-Classic instance resolves to its private
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
+func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
+
+// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
+// req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(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/DescribeVpcEndpointConnectionNotifications
+func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpointConnectionNotifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointConnectionNotificationsInput{}
+ }
+
+ output = &DescribeVpcEndpointConnectionNotificationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the connection notifications for VPC endpoints and VPC endpoint
+// services.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcEndpointConnectionNotifications for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
+func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
+ req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
+ req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
+
+// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpointConnections operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
+// req, resp := client.DescribeVpcEndpointConnectionsRequest(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/DescribeVpcEndpointConnections
+func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpointConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointConnectionsInput{}
+ }
+
+ output = &DescribeVpcEndpointConnectionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the VPC endpoint connections to your VPC endpoint services, including
+// any endpoints that are pending your acceptance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcEndpointConnections for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
+func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
+ req, out := c.DescribeVpcEndpointConnectionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
+ req, out := c.DescribeVpcEndpointConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
+
+// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
+// req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(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/DescribeVpcEndpointServiceConfigurations
+func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpointServiceConfigurations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointServiceConfigurationsInput{}
+ }
+
+ output = &DescribeVpcEndpointServiceConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the VPC endpoint service configurations in your account (your services).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcEndpointServiceConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
+func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
+ req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
+ req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
+
+// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
+// req, resp := client.DescribeVpcEndpointServicePermissionsRequest(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/DescribeVpcEndpointServicePermissions
+func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpointServicePermissions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointServicePermissionsInput{}
+ }
+
+ output = &DescribeVpcEndpointServicePermissionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the principals (service consumers) that are permitted to discover
+// your VPC endpoint service.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcEndpointServicePermissions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
+func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
+ req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
+ req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
+
+// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpointServices operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointServicesRequest method.
+// req, resp := client.DescribeVpcEndpointServicesRequest(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/DescribeVpcEndpointServices
+func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpointServices,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointServicesInput{}
+ }
+
+ output = &DescribeVpcEndpointServicesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
+//
+// Describes available services to which you can create a VPC 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 DescribeVpcEndpointServices for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
+func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
+ req, out := c.DescribeVpcEndpointServicesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointServices for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
+ req, out := c.DescribeVpcEndpointServicesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
+
+// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcEndpoints operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcEndpointsRequest method.
+// req, resp := client.DescribeVpcEndpointsRequest(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/DescribeVpcEndpoints
+func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcEndpoints,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcEndpointsInput{}
+ }
+
+ output = &DescribeVpcEndpointsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your VPC 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 Elastic Compute Cloud's
+// API operation DescribeVpcEndpoints for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
+func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
+ req, out := c.DescribeVpcEndpointsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpoints for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
+ req, out := c.DescribeVpcEndpointsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
+
+// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcPeeringConnections operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
+// req, resp := client.DescribeVpcPeeringConnectionsRequest(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/DescribeVpcPeeringConnections
+func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcPeeringConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcPeeringConnectionsInput{}
+ }
+
+ output = &DescribeVpcPeeringConnectionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your VPC peering 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 DescribeVpcPeeringConnections for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
+func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
+ req, out := c.DescribeVpcPeeringConnectionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcPeeringConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
+ req, out := c.DescribeVpcPeeringConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpcs = "DescribeVpcs"
+
+// DescribeVpcsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpcs operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpcs for more information on using the DescribeVpcs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpcsRequest method.
+// req, resp := client.DescribeVpcsRequest(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/DescribeVpcs
+func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpcs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpcsInput{}
+ }
+
+ output = &DescribeVpcsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more of your VPCs.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpcs for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
+func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
+ req, out := c.DescribeVpcsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
+ req, out := c.DescribeVpcsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpnConnections = "DescribeVpnConnections"
+
+// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpnConnections operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpnConnections for more information on using the DescribeVpnConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpnConnectionsRequest method.
+// req, resp := client.DescribeVpnConnectionsRequest(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/DescribeVpnConnections
+func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpnConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpnConnectionsInput{}
+ }
+
+ output = &DescribeVpnConnectionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpnConnections for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
+func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
+ req, out := c.DescribeVpnConnectionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpnConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
+ req, out := c.DescribeVpnConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeVpnGateways = "DescribeVpnGateways"
+
+// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVpnGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVpnGateways for more information on using the DescribeVpnGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVpnGatewaysRequest method.
+// req, resp := client.DescribeVpnGatewaysRequest(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/DescribeVpnGateways
+func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeVpnGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVpnGatewaysInput{}
+ }
+
+ output = &DescribeVpnGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DescribeVpnGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
+func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
+ req, out := c.DescribeVpnGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpnGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
+ req, out := c.DescribeVpnGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
+
+// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
+// client's request for the DetachClassicLinkVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DetachClassicLinkVpcRequest method.
+// req, resp := client.DetachClassicLinkVpcRequest(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/DetachClassicLinkVpc
+func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
+ op := &request.Operation{
+ Name: opDetachClassicLinkVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachClassicLinkVpcInput{}
+ }
+
+ output = &DetachClassicLinkVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
+// has been unlinked, the VPC security groups are no longer associated with
+// it. An instance is automatically unlinked from a VPC when it's 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 Elastic Compute Cloud's
+// API operation DetachClassicLinkVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
+func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
+ req, out := c.DetachClassicLinkVpcRequest(input)
+ return out, req.Send()
+}
+
+// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachClassicLinkVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
+ req, out := c.DetachClassicLinkVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDetachInternetGateway = "DetachInternetGateway"
+
+// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DetachInternetGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DetachInternetGateway for more information on using the DetachInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DetachInternetGatewayRequest method.
+// req, resp := client.DetachInternetGatewayRequest(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/DetachInternetGateway
+func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
+ op := &request.Operation{
+ Name: opDetachInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachInternetGatewayInput{}
+ }
+
+ output = &DetachInternetGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Detaches an Internet gateway from a VPC, disabling connectivity between the
+// Internet and the VPC. The VPC must not contain any running instances with
+// Elastic IP addresses or public IPv4 addresses.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 DetachInternetGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
+func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
+ req, out := c.DetachInternetGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
+ req, out := c.DetachInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDetachNetworkInterface = "DetachNetworkInterface"
+
+// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
+// client's request for the DetachNetworkInterface operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DetachNetworkInterface for more information on using the DetachNetworkInterface
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DetachNetworkInterfaceRequest method.
+// req, resp := client.DetachNetworkInterfaceRequest(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/DetachNetworkInterface
+func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
+ op := &request.Operation{
+ Name: opDetachNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachNetworkInterfaceInput{}
+ }
+
+ output = &DetachNetworkInterfaceOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
+//
+// Detaches a network interface from an instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DetachNetworkInterface for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
+func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
+ req, out := c.DetachNetworkInterfaceRequest(input)
+ return out, req.Send()
+}
+
+// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
+ req, out := c.DetachNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ 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
+// successfuly.
+//
+// Use "Send" method on the 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/ec2-2016-11-15/DetachVolume
+func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
+ op := &request.Operation{
+ Name: opDetachVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachVolumeInput{}
+ }
+
+ output = &VolumeAttachment{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DetachVolume API operation for Amazon Elastic Compute Cloud.
+//
+// Detaches an EBS volume from an instance. Make sure to unmount any file systems
+// on the device within your operating system before detaching the volume. Failure
+// to do so can result in the volume becoming stuck in the busy state while
+// detaching. If this happens, detachment can be delayed indefinitely until
+// you unmount the volume, force detachment, reboot the instance, or all three.
+// If an EBS volume is the root device of an instance, it can't be detached
+// while the instance is running. To detach the root volume, stop the instance
+// first.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DetachVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
+func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, 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 *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
+ req, out := c.DetachVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDetachVpnGateway = "DetachVpnGateway"
+
+// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DetachVpnGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DetachVpnGateway for more information on using the DetachVpnGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DetachVpnGatewayRequest method.
+// req, resp := client.DetachVpnGatewayRequest(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/DetachVpnGateway
+func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
+ op := &request.Operation{
+ Name: opDetachVpnGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachVpnGatewayInput{}
+ }
+
+ output = &DetachVpnGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
+//
+// Detaches a virtual private gateway from a VPC. You do this if you're planning
+// to turn off the VPC and not use it anymore. You can confirm a virtual private
+// gateway has been completely detached from a VPC by describing the virtual
+// private gateway (any attachments to the virtual private gateway are also
+// described).
+//
+// You must wait for the attachment's state to switch to detached before you
+// can delete the VPC or attach a different VPC to the virtual private gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DetachVpnGateway for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
+func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
+ req, out := c.DetachVpnGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
+ req, out := c.DetachVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
+
+// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
+// client's request for the DisableVgwRoutePropagation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisableVgwRoutePropagationRequest method.
+// req, resp := client.DisableVgwRoutePropagationRequest(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/DisableVgwRoutePropagation
+func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
+ op := &request.Operation{
+ Name: opDisableVgwRoutePropagation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisableVgwRoutePropagationInput{}
+ }
+
+ output = &DisableVgwRoutePropagationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
+//
+// Disables a virtual private gateway (VGW) from propagating routes to a specified
+// route table of a 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 Elastic Compute Cloud's
+// API operation DisableVgwRoutePropagation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
+func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
+ req, out := c.DisableVgwRoutePropagationRequest(input)
+ return out, req.Send()
+}
+
+// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVgwRoutePropagation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
+ req, out := c.DisableVgwRoutePropagationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisableVpcClassicLink = "DisableVpcClassicLink"
+
+// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
+// client's request for the DisableVpcClassicLink operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisableVpcClassicLinkRequest method.
+// req, resp := client.DisableVpcClassicLinkRequest(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/DisableVpcClassicLink
+func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
+ op := &request.Operation{
+ Name: opDisableVpcClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisableVpcClassicLinkInput{}
+ }
+
+ output = &DisableVpcClassicLinkOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
+//
+// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
+// that has EC2-Classic instances linked 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
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisableVpcClassicLink for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
+func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
+ req, out := c.DisableVpcClassicLinkRequest(input)
+ return out, req.Send()
+}
+
+// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
+ req, out := c.DisableVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
+
+// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
+// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
+// req, resp := client.DisableVpcClassicLinkDnsSupportRequest(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/DisableVpcClassicLinkDnsSupport
+func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
+ op := &request.Operation{
+ Name: opDisableVpcClassicLinkDnsSupport,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisableVpcClassicLinkDnsSupportInput{}
+ }
+
+ output = &DisableVpcClassicLinkDnsSupportOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
+//
+// 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 about
+// ClassicLink, see ClassicLink (http://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
+// 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 DisableVpcClassicLinkDnsSupport for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
+func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
+ return out, req.Send()
+}
+
+// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisassociateAddress = "DisassociateAddress"
+
+// DisassociateAddressRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateAddress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateAddress for more information on using the DisassociateAddress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateAddressRequest method.
+// req, resp := client.DisassociateAddressRequest(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/DisassociateAddress
+func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
+ op := &request.Operation{
+ Name: opDisassociateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateAddressInput{}
+ }
+
+ output = &DisassociateAddressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates an Elastic IP address from the instance or network interface
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// This is an idempotent operation. If you perform the operation more than once,
+// Amazon EC2 doesn't return 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 Elastic Compute Cloud's
+// API operation DisassociateAddress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
+func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
+ req, out := c.DisassociateAddressRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
+ req, out := c.DisassociateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
+
+// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateIamInstanceProfile operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateIamInstanceProfileRequest method.
+// req, resp := client.DisassociateIamInstanceProfileRequest(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/DisassociateIamInstanceProfile
+func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
+ op := &request.Operation{
+ Name: opDisassociateIamInstanceProfile,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateIamInstanceProfileInput{}
+ }
+
+ output = &DisassociateIamInstanceProfileOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates an IAM instance profile from a running or stopped instance.
+//
+// Use DescribeIamInstanceProfileAssociations to get the association ID.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisassociateIamInstanceProfile for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
+func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
+ req, out := c.DisassociateIamInstanceProfileRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateIamInstanceProfile for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
+ req, out := c.DisassociateIamInstanceProfileRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisassociateRouteTable = "DisassociateRouteTable"
+
+// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateRouteTable operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateRouteTable for more information on using the DisassociateRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateRouteTableRequest method.
+// req, resp := client.DisassociateRouteTableRequest(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/DisassociateRouteTable
+func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
+ op := &request.Operation{
+ Name: opDisassociateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateRouteTableInput{}
+ }
+
+ output = &DisassociateRouteTableOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates a subnet from a route table.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisassociateRouteTable for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
+func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
+ req, out := c.DisassociateRouteTableRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
+ req, out := c.DisassociateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
+
+// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
+// req, resp := client.DisassociateSubnetCidrBlockRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
+func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
+ op := &request.Operation{
+ Name: opDisassociateSubnetCidrBlock,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateSubnetCidrBlockInput{}
+ }
+
+ output = &DisassociateSubnetCidrBlockOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates a CIDR block from a subnet. Currently, you can disassociate
+// an IPv6 CIDR block only. You must detach or delete all gateways and resources
+// that are associated with the CIDR block before you can disassociate it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisassociateSubnetCidrBlock for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
+func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
+ req, out := c.DisassociateSubnetCidrBlockRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateSubnetCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
+ req, out := c.DisassociateSubnetCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
+
+// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateVpcCidrBlock operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateVpcCidrBlockRequest method.
+// req, resp := client.DisassociateVpcCidrBlockRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
+func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
+ op := &request.Operation{
+ Name: opDisassociateVpcCidrBlock,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateVpcCidrBlockInput{}
+ }
+
+ output = &DisassociateVpcCidrBlockOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
+// must specify its association ID. You can get the association ID by using
+// DescribeVpcs. You must detach or delete all gateways and resources that are
+// associated with the CIDR block before you can disassociate it.
+//
+// You cannot disassociate the CIDR block with which you originally created
+// the VPC (the primary CIDR block).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisassociateVpcCidrBlock for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
+func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
+ req, out := c.DisassociateVpcCidrBlockRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateVpcCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
+ req, out := c.DisassociateVpcCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
+
+// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
+// client's request for the EnableVgwRoutePropagation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the EnableVgwRoutePropagationRequest method.
+// req, resp := client.EnableVgwRoutePropagationRequest(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/EnableVgwRoutePropagation
+func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
+ op := &request.Operation{
+ Name: opEnableVgwRoutePropagation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVgwRoutePropagationInput{}
+ }
+
+ output = &EnableVgwRoutePropagationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
+//
+// Enables a virtual private gateway (VGW) to propagate routes to the specified
+// route table of a 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 Elastic Compute Cloud's
+// API operation EnableVgwRoutePropagation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
+func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
+ req, out := c.EnableVgwRoutePropagationRequest(input)
+ return out, req.Send()
+}
+
+// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVgwRoutePropagation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
+ req, out := c.EnableVgwRoutePropagationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opEnableVolumeIO = "EnableVolumeIO"
+
+// EnableVolumeIORequest generates a "aws/request.Request" representing the
+// client's request for the EnableVolumeIO operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableVolumeIO for more information on using the EnableVolumeIO
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the EnableVolumeIORequest method.
+// req, resp := client.EnableVolumeIORequest(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/EnableVolumeIO
+func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
+ op := &request.Operation{
+ Name: opEnableVolumeIO,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVolumeIOInput{}
+ }
+
+ output = &EnableVolumeIOOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
+//
+// Enables I/O operations for a volume that had I/O operations disabled because
+// the data on the volume was potentially inconsistent.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 EnableVolumeIO for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
+func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
+ req, out := c.EnableVolumeIORequest(input)
+ return out, req.Send()
+}
+
+// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVolumeIO for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
+ req, out := c.EnableVolumeIORequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opEnableVpcClassicLink = "EnableVpcClassicLink"
+
+// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
+// client's request for the EnableVpcClassicLink operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the EnableVpcClassicLinkRequest method.
+// req, resp := client.EnableVpcClassicLinkRequest(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/EnableVpcClassicLink
+func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
+ op := &request.Operation{
+ Name: opEnableVpcClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVpcClassicLinkInput{}
+ }
+
+ output = &EnableVpcClassicLinkOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
+//
+// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
+// your ClassicLink-enabled VPC to allow communication over private IP addresses.
+// You cannot enable your VPC for ClassicLink if any of your VPC's 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation EnableVpcClassicLink for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
+func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
+ req, out := c.EnableVpcClassicLinkRequest(input)
+ return out, req.Send()
+}
+
+// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
+ req, out := c.EnableVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
+
+// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
+// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
+// req, resp := client.EnableVpcClassicLinkDnsSupportRequest(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/EnableVpcClassicLinkDnsSupport
+func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
+ op := &request.Operation{
+ Name: opEnableVpcClassicLinkDnsSupport,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVpcClassicLinkDnsSupportInput{}
+ }
+
+ output = &EnableVpcClassicLinkDnsSupportOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
+//
+// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
+// the DNS hostname of a linked EC2-Classic instance resolves to its private
+// 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
+// about ClassicLink, see ClassicLink (http://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
+// 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 EnableVpcClassicLinkDnsSupport for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
+func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
+ return out, req.Send()
+}
+
+// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetConsoleOutput = "GetConsoleOutput"
+
+// GetConsoleOutputRequest generates a "aws/request.Request" representing the
+// client's request for the GetConsoleOutput operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetConsoleOutput for more information on using the GetConsoleOutput
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetConsoleOutputRequest method.
+// req, resp := client.GetConsoleOutputRequest(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/GetConsoleOutput
+func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
+ op := &request.Operation{
+ Name: opGetConsoleOutput,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetConsoleOutputInput{}
+ }
+
+ output = &GetConsoleOutputOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
+//
+// Gets the console output for the specified instance. For Linux instances,
+// the instance console output displays the exact console output that would
+// normally be displayed on a physical monitor attached to a computer. For Windows
+// instances, the instance console output includes output from the EC2Config
+// service.
+//
+// GetConsoleOutput returns up to 64 KB of console output shortly after it's
+// generated by the instance.
+//
+// By default, the console output returns buffered information that was posted
+// shortly after an instance transition state (start, stop, reboot, or terminate).
+// This information is available for at least one hour after the most recent
+// post.
+//
+// You can optionally retrieve the latest serial console output at any time
+// during the instance lifecycle. This option is only supported on C5, M5, and
+// i3.metal 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 Elastic Compute Cloud's
+// API operation GetConsoleOutput for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
+func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
+ req, out := c.GetConsoleOutputRequest(input)
+ return out, req.Send()
+}
+
+// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetConsoleOutput for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
+ req, out := c.GetConsoleOutputRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetConsoleScreenshot = "GetConsoleScreenshot"
+
+// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
+// client's request for the GetConsoleScreenshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetConsoleScreenshotRequest method.
+// req, resp := client.GetConsoleScreenshotRequest(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/GetConsoleScreenshot
+func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
+ op := &request.Operation{
+ Name: opGetConsoleScreenshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetConsoleScreenshotInput{}
+ }
+
+ output = &GetConsoleScreenshotOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
+//
+// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
+//
+// The returned content is Base64-encoded.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 GetConsoleScreenshot for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
+func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
+ req, out := c.GetConsoleScreenshotRequest(input)
+ return out, req.Send()
+}
+
+// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetConsoleScreenshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
+ req, out := c.GetConsoleScreenshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
+
+// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
+// client's request for the GetHostReservationPurchasePreview operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
+// req, resp := client.GetHostReservationPurchasePreviewRequest(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/GetHostReservationPurchasePreview
+func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
+ op := &request.Operation{
+ Name: opGetHostReservationPurchasePreview,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetHostReservationPurchasePreviewInput{}
+ }
+
+ output = &GetHostReservationPurchasePreviewOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
+//
+// Preview a reservation purchase with configurations that match those of your
+// Dedicated Host. You must have active Dedicated Hosts in your account before
+// you purchase a reservation.
+//
+// This is a preview of the PurchaseHostReservation action and does not result
+// in the offering being purchased.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 GetHostReservationPurchasePreview for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
+func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
+ req, out := c.GetHostReservationPurchasePreviewRequest(input)
+ return out, req.Send()
+}
+
+// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHostReservationPurchasePreview for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
+ req, out := c.GetHostReservationPurchasePreviewRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetLaunchTemplateData = "GetLaunchTemplateData"
+
+// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
+// client's request for the GetLaunchTemplateData operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetLaunchTemplateDataRequest method.
+// req, resp := client.GetLaunchTemplateDataRequest(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/GetLaunchTemplateData
+func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
+ op := &request.Operation{
+ Name: opGetLaunchTemplateData,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetLaunchTemplateDataInput{}
+ }
+
+ output = &GetLaunchTemplateDataOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
+//
+// Retrieves the configuration data of the specified instance. You can use this
+// data to create a launch 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 Amazon Elastic Compute Cloud's
+// API operation GetLaunchTemplateData for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
+func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
+ req, out := c.GetLaunchTemplateDataRequest(input)
+ return out, req.Send()
+}
+
+// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetLaunchTemplateData for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
+ req, out := c.GetLaunchTemplateDataRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetPasswordData = "GetPasswordData"
+
+// GetPasswordDataRequest generates a "aws/request.Request" representing the
+// client's request for the GetPasswordData operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetPasswordData for more information on using the GetPasswordData
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetPasswordDataRequest method.
+// req, resp := client.GetPasswordDataRequest(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/GetPasswordData
+func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
+ op := &request.Operation{
+ Name: opGetPasswordData,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetPasswordDataInput{}
+ }
+
+ output = &GetPasswordDataOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetPasswordData API operation for Amazon Elastic Compute Cloud.
+//
+// Retrieves the encrypted administrator password for a running Windows instance.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For the EC2Config service, the password is not generated for rebundled AMIs
+// unless Ec2SetPassword is enabled before bundling.
+//
+// The password is encrypted using the key pair that you specified when you
+// launched the instance. You must provide the corresponding key pair file.
+//
+// When you launch an instance, password generation and encryption may take
+// a few minutes. If you try to retrieve the password before it's available,
+// the output returns an empty string. We recommend that you wait up to 15 minutes
+// after launching an instance before trying to retrieve the generated password.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 GetPasswordData for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
+func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
+ req, out := c.GetPasswordDataRequest(input)
+ return out, req.Send()
+}
+
+// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetPasswordData for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
+ req, out := c.GetPasswordDataRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
+
+// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
+// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
+// req, resp := client.GetReservedInstancesExchangeQuoteRequest(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/GetReservedInstancesExchangeQuote
+func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
+ op := &request.Operation{
+ Name: opGetReservedInstancesExchangeQuote,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetReservedInstancesExchangeQuoteInput{}
+ }
+
+ output = &GetReservedInstancesExchangeQuoteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
+//
+// Returns a quote and exchange information for exchanging one or more specified
+// Convertible Reserved Instances for a new Convertible Reserved Instance. If
+// the exchange cannot be performed, the reason is returned in the response.
+// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 GetReservedInstancesExchangeQuote for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
+func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
+ return out, req.Send()
+}
+
+// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opImportImage = "ImportImage"
+
+// ImportImageRequest generates a "aws/request.Request" representing the
+// client's request for the ImportImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ImportImage for more information on using the ImportImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ImportImageRequest method.
+// req, resp := client.ImportImageRequest(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/ImportImage
+func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
+ op := &request.Operation{
+ Name: opImportImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportImageInput{}
+ }
+
+ output = &ImportImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ImportImage API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the VM Import/Export User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ImportImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
+func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
+ req, out := c.ImportImageRequest(input)
+ return out, req.Send()
+}
+
+// ImportImageWithContext is the same as ImportImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
+ req, out := c.ImportImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opImportInstance = "ImportInstance"
+
+// ImportInstanceRequest generates a "aws/request.Request" representing the
+// client's request for the ImportInstance operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ImportInstance for more information on using the ImportInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ImportInstanceRequest method.
+// req, resp := client.ImportInstanceRequest(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/ImportInstance
+func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
+ op := &request.Operation{
+ Name: opImportInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportInstanceInput{}
+ }
+
+ output = &ImportInstanceOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ImportInstance API operation for Amazon Elastic Compute Cloud.
+//
+// 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).
+//
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ImportInstance for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
+func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
+ req, out := c.ImportInstanceRequest(input)
+ return out, req.Send()
+}
+
+// ImportInstanceWithContext is the same as ImportInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
+ req, out := c.ImportInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opImportKeyPair = "ImportKeyPair"
+
+// ImportKeyPairRequest generates a "aws/request.Request" representing the
+// client's request for the ImportKeyPair operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ImportKeyPair for more information on using the ImportKeyPair
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ImportKeyPairRequest method.
+// req, resp := client.ImportKeyPairRequest(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/ImportKeyPair
+func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
+ op := &request.Operation{
+ Name: opImportKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportKeyPairInput{}
+ }
+
+ output = &ImportKeyPairOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
+//
+// Imports the public key from an RSA key pair that you created with a third-party
+// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
+// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ImportKeyPair for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
+func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
+ req, out := c.ImportKeyPairRequest(input)
+ return out, req.Send()
+}
+
+// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
+ req, out := c.ImportKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opImportSnapshot = "ImportSnapshot"
+
+// ImportSnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the ImportSnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ImportSnapshot for more information on using the ImportSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ImportSnapshotRequest method.
+// req, resp := client.ImportSnapshotRequest(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/ImportSnapshot
+func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
+ op := &request.Operation{
+ Name: opImportSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportSnapshotInput{}
+ }
+
+ output = &ImportSnapshotOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
+//
+// Imports a disk into an EBS snapshot.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ImportSnapshot for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
+func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
+ req, out := c.ImportSnapshotRequest(input)
+ return out, req.Send()
+}
+
+// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
+ req, out := c.ImportSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opImportVolume = "ImportVolume"
+
+// ImportVolumeRequest generates a "aws/request.Request" representing the
+// client's request for the ImportVolume operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ImportVolume for more information on using the ImportVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ImportVolumeRequest method.
+// req, resp := client.ImportVolumeRequest(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/ImportVolume
+func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
+ op := &request.Operation{
+ Name: opImportVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportVolumeInput{}
+ }
+
+ output = &ImportVolumeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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).
+//
+// 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).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ImportVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
+func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
+ req, out := c.ImportVolumeRequest(input)
+ return out, req.Send()
+}
+
+// ImportVolumeWithContext is the same as ImportVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
+ req, out := c.ImportVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyFleet = "ModifyFleet"
+
+// ModifyFleetRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyFleet operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyFleet for more information on using the ModifyFleet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyFleetRequest method.
+// req, resp := client.ModifyFleetRequest(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/ModifyFleet
+func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
+ op := &request.Operation{
+ Name: opModifyFleet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyFleetInput{}
+ }
+
+ output = &ModifyFleetOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyFleet API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified EC2 Fleet.
+//
+// While the EC2 Fleet is being modified, it is in the modifying 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 Elastic Compute Cloud's
+// API operation ModifyFleet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
+func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
+ req, out := c.ModifyFleetRequest(input)
+ return out, req.Send()
+}
+
+// ModifyFleetWithContext is the same as ModifyFleet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyFleet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
+ req, out := c.ModifyFleetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
+
+// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyFpgaImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyFpgaImageAttributeRequest method.
+// req, resp := client.ModifyFpgaImageAttributeRequest(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/ModifyFpgaImageAttribute
+func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyFpgaImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyFpgaImageAttributeInput{}
+ }
+
+ output = &ModifyFpgaImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyFpgaImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
+func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
+ req, out := c.ModifyFpgaImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyFpgaImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
+ req, out := c.ModifyFpgaImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyHosts = "ModifyHosts"
+
+// ModifyHostsRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyHosts operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyHosts for more information on using the ModifyHosts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyHostsRequest method.
+// req, resp := client.ModifyHostsRequest(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/ModifyHosts
+func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
+ op := &request.Operation{
+ Name: opModifyHosts,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyHostsInput{}
+ }
+
+ output = &ModifyHostsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyHosts API operation for Amazon Elastic Compute Cloud.
+//
+// Modify the auto-placement setting of a Dedicated Host. When auto-placement
+// is enabled, AWS will place instances that you launch with a tenancy of host,
+// but without targeting a specific host ID, onto any available Dedicated Host
+// in your account which has auto-placement enabled. When auto-placement is
+// disabled, you need to provide a host ID if you want the instance to launch
+// onto a specific host. If no host ID is provided, the instance will be launched
+// onto a suitable host which has auto-placement enabled.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyHosts for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
+func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
+ req, out := c.ModifyHostsRequest(input)
+ return out, req.Send()
+}
+
+// ModifyHostsWithContext is the same as ModifyHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
+ req, out := c.ModifyHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyIdFormat = "ModifyIdFormat"
+
+// ModifyIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyIdFormat for more information on using the ModifyIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyIdFormatRequest method.
+// req, resp := client.ModifyIdFormatRequest(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/ModifyIdFormat
+func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
+ op := &request.Operation{
+ Name: opModifyIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyIdFormatInput{}
+ }
+
+ output = &ModifyIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the ID format for the specified resource on a per-region basis.
+// You can specify that resources should receive longer IDs (17-character IDs)
+// when they are created.
+//
+// This request can only be used to modify longer ID settings for resource types
+// that are within the opt-in period. Resources currently in their opt-in period
+// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
+// | elastic-ip-association | export-task | flow-log | image | import-task |
+// internet-gateway | network-acl | network-acl-association | network-interface
+// | network-interface-attachment | prefix-list | route-table | route-table-association
+// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
+// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
+//
+// This setting applies to the IAM user who makes the request; it does not apply
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Resources created with longer IDs are visible to all IAM roles and users,
+// regardless of these settings and provided that they have permission to use
+// the relevant Describe command for the 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 Amazon Elastic Compute Cloud's
+// API operation ModifyIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
+func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
+ req, out := c.ModifyIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
+ req, out := c.ModifyIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
+
+// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyIdentityIdFormat operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyIdentityIdFormatRequest method.
+// req, resp := client.ModifyIdentityIdFormatRequest(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/ModifyIdentityIdFormat
+func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
+ op := &request.Operation{
+ Name: opModifyIdentityIdFormat,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyIdentityIdFormatInput{}
+ }
+
+ output = &ModifyIdentityIdFormatOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the ID format of a resource for a specified IAM user, IAM role,
+// or the root user for an account; or all IAM users, IAM roles, and the root
+// user for an account. You can specify that resources should receive longer
+// IDs (17-character IDs) when they are created.
+//
+// This request can only be used to modify longer ID settings for resource types
+// that are within the opt-in period. Resources currently in their opt-in period
+// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
+// | elastic-ip-association | export-task | flow-log | image | import-task |
+// internet-gateway | network-acl | network-acl-association | network-interface
+// | network-interface-attachment | prefix-list | route-table | route-table-association
+// | 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// This setting applies to the principal specified in the request; it does not
+// apply to the principal that makes the request.
+//
+// Resources created with longer IDs are visible to all IAM roles and users,
+// regardless of these settings and provided that they have permission to use
+// the relevant Describe command for the 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 Amazon Elastic Compute Cloud's
+// API operation ModifyIdentityIdFormat for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
+func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
+ req, out := c.ModifyIdentityIdFormatRequest(input)
+ return out, req.Send()
+}
+
+// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyIdentityIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
+ req, out := c.ModifyIdentityIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyImageAttribute = "ModifyImageAttribute"
+
+// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyImageAttribute for more information on using the ModifyImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyImageAttributeRequest method.
+// req, resp := client.ModifyImageAttributeRequest(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/ModifyImageAttribute
+func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyImageAttributeInput{}
+ }
+
+ output = &ModifyImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified attribute of the specified AMI. You can specify only
+// one attribute at a time. You can use the Attribute parameter to specify the
+// attribute or one of the following parameters: Description, LaunchPermission,
+// or ProductCode.
+//
+// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
+// product code cannot be made public.
+//
+// To enable the SriovNetSupport enhanced networking attribute of an image,
+// enable SriovNetSupport on an instance and create an AMI from the instance.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
+func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
+ req, out := c.ModifyImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
+ req, out := c.ModifyImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyInstanceAttribute = "ModifyInstanceAttribute"
+
+// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyInstanceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyInstanceAttributeRequest method.
+// req, resp := client.ModifyInstanceAttributeRequest(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/ModifyInstanceAttribute
+func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyInstanceAttributeInput{}
+ }
+
+ output = &ModifyInstanceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified attribute of the specified instance. You can specify
+// only one attribute at a time.
+//
+// Note: Using this action to change the security groups associated with an
+// elastic network interface (ENI) attached to an instance in a VPC can result
+// in an error if the instance has more than one ENI. To change the security
+// groups associated with an ENI attached to an instance that has multiple ENIs,
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyInstanceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
+func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
+ req, out := c.ModifyInstanceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
+ req, out := c.ModifyInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
+
+// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
+// req, resp := client.ModifyInstanceCreditSpecificationRequest(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/ModifyInstanceCreditSpecification
+func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
+ op := &request.Operation{
+ Name: opModifyInstanceCreditSpecification,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyInstanceCreditSpecificationInput{}
+ }
+
+ output = &ModifyInstanceCreditSpecificationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the credit option for CPU usage on a running or stopped T2 instance.
+// The credit options are standard and unlimited.
+//
+// For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyInstanceCreditSpecification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
+func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
+ req, out := c.ModifyInstanceCreditSpecificationRequest(input)
+ return out, req.Send()
+}
+
+// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyInstanceCreditSpecification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
+ req, out := c.ModifyInstanceCreditSpecificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyInstancePlacement = "ModifyInstancePlacement"
+
+// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyInstancePlacement operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyInstancePlacementRequest method.
+// req, resp := client.ModifyInstancePlacementRequest(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/ModifyInstancePlacement
+func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
+ op := &request.Operation{
+ Name: opModifyInstancePlacement,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyInstancePlacementInput{}
+ }
+
+ output = &ModifyInstancePlacementOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
+//
+// 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).
+// 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
+// is restarted or rebooted, this relationship persists.
+//
+// * Change the Dedicated Host with which an instance is associated.
+//
+// * 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).
+//
+// 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyInstancePlacement for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
+func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
+ req, out := c.ModifyInstancePlacementRequest(input)
+ return out, req.Send()
+}
+
+// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyInstancePlacement for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
+ req, out := c.ModifyInstancePlacementRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyLaunchTemplate = "ModifyLaunchTemplate"
+
+// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyLaunchTemplate operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyLaunchTemplateRequest method.
+// req, resp := client.ModifyLaunchTemplateRequest(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/ModifyLaunchTemplate
+func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
+ op := &request.Operation{
+ Name: opModifyLaunchTemplate,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyLaunchTemplateInput{}
+ }
+
+ output = &ModifyLaunchTemplateOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies a launch template. You can specify which version of the launch template
+// to set as the default version. When launching an instance, the default version
+// applies when a launch template version is not specified.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyLaunchTemplate for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
+func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
+ req, out := c.ModifyLaunchTemplateRequest(input)
+ return out, req.Send()
+}
+
+// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyLaunchTemplate for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
+ req, out := c.ModifyLaunchTemplateRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
+
+// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
+// req, resp := client.ModifyNetworkInterfaceAttributeRequest(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/ModifyNetworkInterfaceAttribute
+func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyNetworkInterfaceAttributeInput{}
+ }
+
+ output = &ModifyNetworkInterfaceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified network interface attribute. You can specify only
+// one attribute at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyNetworkInterfaceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
+func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyReservedInstances = "ModifyReservedInstances"
+
+// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyReservedInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyReservedInstances for more information on using the ModifyReservedInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyReservedInstancesRequest method.
+// req, resp := client.ModifyReservedInstancesRequest(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/ModifyReservedInstances
+func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
+ op := &request.Operation{
+ Name: opModifyReservedInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyReservedInstancesInput{}
+ }
+
+ output = &ModifyReservedInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the Availability Zone, instance count, instance type, or network
+// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyReservedInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
+func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
+ req, out := c.ModifyReservedInstancesRequest(input)
+ return out, req.Send()
+}
+
+// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyReservedInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
+ req, out := c.ModifyReservedInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifySnapshotAttribute = "ModifySnapshotAttribute"
+
+// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifySnapshotAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifySnapshotAttributeRequest method.
+// req, resp := client.ModifySnapshotAttributeRequest(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/ModifySnapshotAttribute
+func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifySnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifySnapshotAttributeInput{}
+ }
+
+ output = &ModifySnapshotAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Adds or removes permission settings for the specified snapshot. You may add
+// or remove specified AWS account IDs from a snapshot's list of create volume
+// permissions, but you cannot do both in a single API call. If you need to
+// both add and remove account IDs for a snapshot, you must use multiple API
+// calls.
+//
+// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
+// be made public. Snapshots encrypted with your default CMK cannot be shared
+// with other accounts.
+//
+// For more information on modifying snapshot permissions, see Sharing Snapshots
+// (http://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
+// 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 ModifySnapshotAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
+func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
+ req, out := c.ModifySnapshotAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
+ req, out := c.ModifySnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifySpotFleetRequest = "ModifySpotFleetRequest"
+
+// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
+// client's request for the ModifySpotFleetRequest operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifySpotFleetRequestRequest method.
+// req, resp := client.ModifySpotFleetRequestRequest(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/ModifySpotFleetRequest
+func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
+ op := &request.Operation{
+ Name: opModifySpotFleetRequest,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifySpotFleetRequestInput{}
+ }
+
+ output = &ModifySpotFleetRequestOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified Spot Fleet request.
+//
+// While the Spot Fleet request is being modified, it is in the modifying state.
+//
+// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
+// launches the additional Spot Instances according to the allocation strategy
+// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
+// Spot Fleet launches instances using the Spot pool with the lowest price.
+// If the allocation strategy is diversified, the Spot Fleet distributes the
+// instances across the Spot pools.
+//
+// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
+// Fleet cancels any open requests that exceed the new target capacity. You
+// can request that the Spot Fleet terminate Spot Instances until the size of
+// the fleet no longer exceeds the new target capacity. If the allocation strategy
+// is lowestPrice, the Spot Fleet terminates the instances with the highest
+// price per unit. If the allocation strategy is diversified, the Spot Fleet
+// terminates instances across the Spot pools. Alternatively, you can request
+// that the Spot Fleet keep the fleet at its current size, but not replace any
+// Spot Instances that are interrupted or that you terminate manually.
+//
+// If you are finished with your Spot Fleet for now, but will use it again later,
+// you can set the target capacity to 0.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifySpotFleetRequest for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
+func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
+ req, out := c.ModifySpotFleetRequestRequest(input)
+ return out, req.Send()
+}
+
+// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySpotFleetRequest for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
+ req, out := c.ModifySpotFleetRequestRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifySubnetAttribute = "ModifySubnetAttribute"
+
+// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifySubnetAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifySubnetAttributeRequest method.
+// req, resp := client.ModifySubnetAttributeRequest(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/ModifySubnetAttribute
+func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifySubnetAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifySubnetAttributeInput{}
+ }
+
+ output = &ModifySubnetAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies a subnet attribute. You can only modify one attribute at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifySubnetAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
+func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
+ req, out := c.ModifySubnetAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySubnetAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
+ req, out := c.ModifySubnetAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVolume = "ModifyVolume"
+
+// ModifyVolumeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVolume operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVolume for more information on using the ModifyVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVolumeRequest method.
+// req, resp := client.ModifyVolumeRequest(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/ModifyVolume
+func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
+ op := &request.Operation{
+ Name: opModifyVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVolumeInput{}
+ }
+
+ output = &ModifyVolumeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVolume API operation for Amazon Elastic Compute Cloud.
+//
+// You can modify several parameters of an existing EBS volume, including volume
+// size, volume type, and IOPS capacity. If your EBS volume is attached to a
+// 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).
+// 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).
+//
+// 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).
+// 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).
+//
+// 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/).
+// 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).
+//
+// 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 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).
+// 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).
+//
+// 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
+// the affected EBS volume.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyVolume for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
+func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
+ req, out := c.ModifyVolumeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
+ req, out := c.ModifyVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVolumeAttribute = "ModifyVolumeAttribute"
+
+// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVolumeAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVolumeAttributeRequest method.
+// req, resp := client.ModifyVolumeAttributeRequest(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/ModifyVolumeAttribute
+func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyVolumeAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVolumeAttributeInput{}
+ }
+
+ output = &ModifyVolumeAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies a volume attribute.
+//
+// By default, all I/O operations for the volume are suspended when the data
+// on the volume is determined to be potentially inconsistent, to prevent undetectable,
+// latent data corruption. The I/O access to the volume can be resumed by first
+// enabling I/O access and then checking the data consistency on your volume.
+//
+// You can change the default behavior to resume I/O operations. We recommend
+// that you change this only for boot volumes or for volumes that are stateless
+// or disposable.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyVolumeAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
+func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
+ req, out := c.ModifyVolumeAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVolumeAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
+ req, out := c.ModifyVolumeAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcAttribute = "ModifyVpcAttribute"
+
+// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcAttributeRequest method.
+// req, resp := client.ModifyVpcAttributeRequest(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/ModifyVpcAttribute
+func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcAttributeInput{}
+ }
+
+ output = &ModifyVpcAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the specified attribute of the specified 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 Elastic Compute Cloud's
+// API operation ModifyVpcAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
+func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
+ req, out := c.ModifyVpcAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
+ req, out := c.ModifyVpcAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcEndpoint = "ModifyVpcEndpoint"
+
+// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcEndpoint operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcEndpointRequest method.
+// req, resp := client.ModifyVpcEndpointRequest(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/ModifyVpcEndpoint
+func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcEndpoint,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcEndpointInput{}
+ }
+
+ output = &ModifyVpcEndpointOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyVpcEndpoint for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
+func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
+ req, out := c.ModifyVpcEndpointRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcEndpoint for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
+ req, out := c.ModifyVpcEndpointRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
+
+// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
+// req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(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/ModifyVpcEndpointConnectionNotification
+func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcEndpointConnectionNotification,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcEndpointConnectionNotificationInput{}
+ }
+
+ output = &ModifyVpcEndpointConnectionNotificationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies a connection notification for VPC endpoint or VPC endpoint service.
+// You can change the SNS topic for the notification, or the events for which
+// to be notified.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyVpcEndpointConnectionNotification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
+func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
+ req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
+ req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
+
+// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
+// req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(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/ModifyVpcEndpointServiceConfiguration
+func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcEndpointServiceConfiguration,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcEndpointServiceConfigurationInput{}
+ }
+
+ output = &ModifyVpcEndpointServiceConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the attributes of your VPC endpoint service configuration. You can
+// change the Network Load Balancers for your service, and you can specify whether
+// acceptance is required for requests to connect to your endpoint service through
+// an interface VPC 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 ModifyVpcEndpointServiceConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
+func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
+ req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
+ req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
+
+// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
+// req, resp := client.ModifyVpcEndpointServicePermissionsRequest(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/ModifyVpcEndpointServicePermissions
+func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcEndpointServicePermissions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcEndpointServicePermissionsInput{}
+ }
+
+ output = &ModifyVpcEndpointServicePermissionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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).
+// You can add or remove permissions for service consumers (IAM users, IAM roles,
+// and AWS accounts) to connect to your endpoint service.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyVpcEndpointServicePermissions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
+func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
+ req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
+ req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
+
+// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
+// req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(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/ModifyVpcPeeringConnectionOptions
+func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcPeeringConnectionOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcPeeringConnectionOptionsInput{}
+ }
+
+ output = &ModifyVpcPeeringConnectionOptionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the VPC peering connection options on one side of a VPC peering
+// connection. You can do the following:
+//
+// * Enable/disable communication over the peering connection between an
+// EC2-Classic instance that's linked to your VPC (using ClassicLink) and
+// instances in the peer VPC.
+//
+// * Enable/disable communication over the peering connection between instances
+// in your VPC and an EC2-Classic instance that's linked to the peer VPC.
+//
+// * Enable/disable the ability to resolve public DNS hostnames to private
+// IP addresses when queried from instances in the peer VPC.
+//
+// If the peered VPCs are in different accounts, each owner must initiate a
+// separate request to modify the peering connection options, depending on whether
+// their VPC was the requester or accepter for the VPC peering connection. If
+// the peered VPCs are in the same account, you can modify the requester and
+// accepter options in the same request. To confirm which VPC is the accepter
+// and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
+// command.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ModifyVpcPeeringConnectionOptions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
+func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
+ req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
+ req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opModifyVpcTenancy = "ModifyVpcTenancy"
+
+// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyVpcTenancy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyVpcTenancyRequest method.
+// req, resp := client.ModifyVpcTenancyRequest(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/ModifyVpcTenancy
+func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
+ op := &request.Operation{
+ Name: opModifyVpcTenancy,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVpcTenancyInput{}
+ }
+
+ output = &ModifyVpcTenancyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the instance tenancy attribute of the specified VPC. You can change
+// the instance tenancy attribute of a VPC to default only. You cannot change
+// the instance tenancy attribute to dedicated.
+//
+// After you modify the tenancy of the VPC, any new instances that you launch
+// 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 about Dedicated Instances, see Dedicated Instances (http://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
+// 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 ModifyVpcTenancy for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
+func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
+ req, out := c.ModifyVpcTenancyRequest(input)
+ return out, req.Send()
+}
+
+// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcTenancy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
+ req, out := c.ModifyVpcTenancyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opMonitorInstances = "MonitorInstances"
+
+// MonitorInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the MonitorInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See MonitorInstances for more information on using the MonitorInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the MonitorInstancesRequest method.
+// req, resp := client.MonitorInstancesRequest(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/MonitorInstances
+func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
+ op := &request.Operation{
+ Name: opMonitorInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &MonitorInstancesInput{}
+ }
+
+ output = &MonitorInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// MonitorInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
+// is enabled. For more information, see Monitoring Your Instances and Volumes
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// To disable detailed monitoring, see .
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation MonitorInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
+func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
+ req, out := c.MonitorInstancesRequest(input)
+ return out, req.Send()
+}
+
+// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See MonitorInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
+ req, out := c.MonitorInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opMoveAddressToVpc = "MoveAddressToVpc"
+
+// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
+// client's request for the MoveAddressToVpc operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See MoveAddressToVpc for more information on using the MoveAddressToVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the MoveAddressToVpcRequest method.
+// req, resp := client.MoveAddressToVpcRequest(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/MoveAddressToVpc
+func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
+ op := &request.Operation{
+ Name: opMoveAddressToVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &MoveAddressToVpcInput{}
+ }
+
+ output = &MoveAddressToVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
+// platform. The Elastic IP address must be allocated to your account for more
+// than 24 hours, and it must not be associated with an instance. After the
+// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
+// platform, unless you move it back using the RestoreAddressToClassic request.
+// You cannot move an Elastic IP address that was originally allocated for use
+// in the EC2-VPC platform to the EC2-Classic platform.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 MoveAddressToVpc for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
+func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
+ req, out := c.MoveAddressToVpcRequest(input)
+ return out, req.Send()
+}
+
+// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See MoveAddressToVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
+ req, out := c.MoveAddressToVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPurchaseHostReservation = "PurchaseHostReservation"
+
+// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
+// client's request for the PurchaseHostReservation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PurchaseHostReservation for more information on using the PurchaseHostReservation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PurchaseHostReservationRequest method.
+// req, resp := client.PurchaseHostReservationRequest(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/PurchaseHostReservation
+func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
+ op := &request.Operation{
+ Name: opPurchaseHostReservation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &PurchaseHostReservationInput{}
+ }
+
+ output = &PurchaseHostReservationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
+//
+// Purchase a reservation with configurations that match those of your Dedicated
+// Host. You must have active Dedicated Hosts in your account before you purchase
+// a reservation. This action results in the specified reservation being purchased
+// and charged to 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 Elastic Compute Cloud's
+// API operation PurchaseHostReservation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
+func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
+ req, out := c.PurchaseHostReservationRequest(input)
+ return out, req.Send()
+}
+
+// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseHostReservation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
+ req, out := c.PurchaseHostReservationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
+
+// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
+// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
+// req, resp := client.PurchaseReservedInstancesOfferingRequest(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/PurchaseReservedInstancesOffering
+func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
+ op := &request.Operation{
+ Name: opPurchaseReservedInstancesOffering,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &PurchaseReservedInstancesOfferingInput{}
+ }
+
+ output = &PurchaseReservedInstancesOfferingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
+//
+// Purchases a Reserved Instance for use with your account. With Reserved Instances,
+// you pay a lower hourly rate compared to On-Demand instance pricing.
+//
+// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation PurchaseReservedInstancesOffering for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
+func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
+ req, out := c.PurchaseReservedInstancesOfferingRequest(input)
+ return out, req.Send()
+}
+
+// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseReservedInstancesOffering for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
+ req, out := c.PurchaseReservedInstancesOfferingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
+
+// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the PurchaseScheduledInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PurchaseScheduledInstancesRequest method.
+// req, resp := client.PurchaseScheduledInstancesRequest(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/PurchaseScheduledInstances
+func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
+ op := &request.Operation{
+ Name: opPurchaseScheduledInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &PurchaseScheduledInstancesInput{}
+ }
+
+ output = &PurchaseScheduledInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Purchases one or more Scheduled Instances with the specified schedule.
+//
+// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
+// the hour for a one-year term. Before you can purchase a Scheduled Instance,
+// you must call DescribeScheduledInstanceAvailability to check for available
+// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
+// you must call RunScheduledInstances during each scheduled time period.
+//
+// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
+// your 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 Amazon Elastic Compute Cloud's
+// API operation PurchaseScheduledInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
+func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
+ req, out := c.PurchaseScheduledInstancesRequest(input)
+ return out, req.Send()
+}
+
+// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
+ req, out := c.PurchaseScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRebootInstances = "RebootInstances"
+
+// RebootInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the RebootInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RebootInstances for more information on using the RebootInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RebootInstancesRequest method.
+// req, resp := client.RebootInstancesRequest(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/RebootInstances
+func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
+ op := &request.Operation{
+ Name: opRebootInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RebootInstancesInput{}
+ }
+
+ output = &RebootInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// RebootInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Requests a reboot of one or more instances. This operation is asynchronous;
+// it only queues a request to reboot the specified instances. The operation
+// succeeds if the instances are valid and belong to you. Requests to reboot
+// terminated instances are ignored.
+//
+// If an instance does not cleanly shut down within four minutes, Amazon EC2
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RebootInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
+func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
+ req, out := c.RebootInstancesRequest(input)
+ return out, req.Send()
+}
+
+// RebootInstancesWithContext is the same as RebootInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RebootInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
+ req, out := c.RebootInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRegisterImage = "RegisterImage"
+
+// RegisterImageRequest generates a "aws/request.Request" representing the
+// client's request for the RegisterImage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RegisterImage for more information on using the RegisterImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RegisterImageRequest method.
+// req, resp := client.RegisterImageRequest(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/RegisterImage
+func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
+ op := &request.Operation{
+ Name: opRegisterImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RegisterImageInput{}
+ }
+
+ output = &RegisterImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RegisterImage API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
+// in a single request, so you don't have to register the AMI yourself.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// You can't register an image where a secondary (non-root) snapshot has AWS
+// Marketplace product codes.
+//
+// Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
+// Linux Enterprise Server (SLES), use the EC2 billing product code associated
+// with an AMI to verify the subscription status for package updates. Creating
+// an AMI from an EBS snapshot does not maintain this billing code, and subsequent
+// instances launched from such an AMI will not be able to connect to package
+// update infrastructure. To create an AMI that must retain billing codes, see
+// CreateImage.
+//
+// If needed, you can deregister an AMI at any time. Any modifications you make
+// to an AMI backed by an instance store volume invalidates its registration.
+// If you make changes to an image, deregister the previous image and register
+// the new image.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 RegisterImage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
+func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
+ req, out := c.RegisterImageRequest(input)
+ return out, req.Send()
+}
+
+// RegisterImageWithContext is the same as RegisterImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RegisterImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
+ req, out := c.RegisterImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
+
+// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
+// client's request for the RejectVpcEndpointConnections operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
+// req, resp := client.RejectVpcEndpointConnectionsRequest(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/RejectVpcEndpointConnections
+func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
+ op := &request.Operation{
+ Name: opRejectVpcEndpointConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RejectVpcEndpointConnectionsInput{}
+ }
+
+ output = &RejectVpcEndpointConnectionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
+//
+// Rejects one or more VPC endpoint connection requests to your VPC endpoint
+// service.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 RejectVpcEndpointConnections for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
+func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
+ req, out := c.RejectVpcEndpointConnectionsRequest(input)
+ return out, req.Send()
+}
+
+// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RejectVpcEndpointConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
+ req, out := c.RejectVpcEndpointConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
+
+// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
+// client's request for the RejectVpcPeeringConnection operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RejectVpcPeeringConnectionRequest method.
+// req, resp := client.RejectVpcPeeringConnectionRequest(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/RejectVpcPeeringConnection
+func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
+ op := &request.Operation{
+ Name: opRejectVpcPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RejectVpcPeeringConnectionInput{}
+ }
+
+ output = &RejectVpcPeeringConnectionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
+//
+// Rejects a VPC peering connection request. The VPC peering connection must
+// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
+// request to view your outstanding VPC peering connection requests. To delete
+// an active VPC peering connection, or to delete a VPC peering connection request
+// that you initiated, use DeleteVpcPeeringConnection.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 RejectVpcPeeringConnection for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
+func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
+ req, out := c.RejectVpcPeeringConnectionRequest(input)
+ return out, req.Send()
+}
+
+// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RejectVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
+ req, out := c.RejectVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReleaseAddress = "ReleaseAddress"
+
+// ReleaseAddressRequest generates a "aws/request.Request" representing the
+// client's request for the ReleaseAddress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReleaseAddress for more information on using the ReleaseAddress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReleaseAddressRequest method.
+// req, resp := client.ReleaseAddressRequest(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/ReleaseAddress
+func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
+ op := &request.Operation{
+ Name: opReleaseAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReleaseAddressInput{}
+ }
+
+ output = &ReleaseAddressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
+//
+// Releases the specified Elastic IP address.
+//
+// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
+// disassociates it from any instance that it's associated with. To disassociate
+// an Elastic IP address without releasing it, use DisassociateAddress.
+//
+// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
+// IP address before you can release it. Otherwise, Amazon EC2 returns an error
+// (InvalidIPAddress.InUse).
+//
+// After releasing an Elastic IP address, it is released to the IP address pool.
+// Be sure to update your DNS records and any servers or devices that communicate
+// with the address. If you attempt to release an Elastic IP address that you
+// already released, you'll get an AuthFailure error if the address is already
+// allocated to another AWS account.
+//
+// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
+// be able to recover it. For more information, see AllocateAddress.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ReleaseAddress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
+func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
+ req, out := c.ReleaseAddressRequest(input)
+ return out, req.Send()
+}
+
+// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReleaseAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
+ req, out := c.ReleaseAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReleaseHosts = "ReleaseHosts"
+
+// ReleaseHostsRequest generates a "aws/request.Request" representing the
+// client's request for the ReleaseHosts operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReleaseHosts for more information on using the ReleaseHosts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReleaseHostsRequest method.
+// req, resp := client.ReleaseHostsRequest(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/ReleaseHosts
+func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
+ op := &request.Operation{
+ Name: opReleaseHosts,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReleaseHostsInput{}
+ }
+
+ output = &ReleaseHostsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
+//
+// When you no longer want to use an On-Demand Dedicated Host it can be released.
+// On-Demand billing is stopped and the host goes into released state. The host
+// ID of Dedicated Hosts that have been released can no longer be specified
+// in another request, e.g., ModifyHosts. You must stop or terminate all instances
+// on a host before it can be released.
+//
+// When Dedicated Hosts are released, it make take some time for them to stop
+// counting toward your limit and you may receive capacity errors when trying
+// to allocate new Dedicated hosts. Try waiting a few minutes, and then try
+// again.
+//
+// Released hosts will still appear in a DescribeHosts response.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ReleaseHosts for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
+func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
+ req, out := c.ReleaseHostsRequest(input)
+ return out, req.Send()
+}
+
+// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReleaseHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
+ req, out := c.ReleaseHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
+
+// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
+// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
+// req, resp := client.ReplaceIamInstanceProfileAssociationRequest(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/ReplaceIamInstanceProfileAssociation
+func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
+ op := &request.Operation{
+ Name: opReplaceIamInstanceProfileAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceIamInstanceProfileAssociationInput{}
+ }
+
+ output = &ReplaceIamInstanceProfileAssociationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
+//
+// Replaces an IAM instance profile for the specified running instance. You
+// can use this action to change the IAM instance profile that's associated
+// with an instance without having to disassociate the existing IAM instance
+// profile first.
+//
+// Use DescribeIamInstanceProfileAssociations to get the association ID.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
+func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
+ req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
+ return out, req.Send()
+}
+
+// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
+ req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
+
+// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
+// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
+// req, resp := client.ReplaceNetworkAclAssociationRequest(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/ReplaceNetworkAclAssociation
+func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
+ op := &request.Operation{
+ Name: opReplaceNetworkAclAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceNetworkAclAssociationInput{}
+ }
+
+ output = &ReplaceNetworkAclAssociationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
+//
+// 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 about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// This is an idempotent 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 Compute Cloud's
+// API operation ReplaceNetworkAclAssociation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
+func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
+ req, out := c.ReplaceNetworkAclAssociationRequest(input)
+ return out, req.Send()
+}
+
+// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceNetworkAclAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
+ req, out := c.ReplaceNetworkAclAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
+
+// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
+// client's request for the ReplaceNetworkAclEntry operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReplaceNetworkAclEntryRequest method.
+// req, resp := client.ReplaceNetworkAclEntryRequest(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/ReplaceNetworkAclEntry
+func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
+ op := &request.Operation{
+ Name: opReplaceNetworkAclEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceNetworkAclEntryInput{}
+ }
+
+ output = &ReplaceNetworkAclEntryOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
+//
+// Replaces an entry (rule) in a network ACL. For more information about network
+// ACLs, see Network ACLs (http://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
+// 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 ReplaceNetworkAclEntry for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
+func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
+ req, out := c.ReplaceNetworkAclEntryRequest(input)
+ return out, req.Send()
+}
+
+// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
+ req, out := c.ReplaceNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReplaceRoute = "ReplaceRoute"
+
+// ReplaceRouteRequest generates a "aws/request.Request" representing the
+// client's request for the ReplaceRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReplaceRoute for more information on using the ReplaceRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReplaceRouteRequest method.
+// req, resp := client.ReplaceRouteRequest(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/ReplaceRoute
+func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
+ op := &request.Operation{
+ Name: opReplaceRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceRouteInput{}
+ }
+
+ output = &ReplaceRouteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Replaces an existing route within a route table in a VPC. You must provide
+// only one of the following: Internet gateway or virtual private gateway, NAT
+// instance, NAT gateway, VPC peering connection, network interface, or egress-only
+// Internet gateway.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ReplaceRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
+func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
+ req, out := c.ReplaceRouteRequest(input)
+ return out, req.Send()
+}
+
+// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
+ req, out := c.ReplaceRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
+
+// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
+// client's request for the ReplaceRouteTableAssociation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReplaceRouteTableAssociationRequest method.
+// req, resp := client.ReplaceRouteTableAssociationRequest(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/ReplaceRouteTableAssociation
+func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
+ op := &request.Operation{
+ Name: opReplaceRouteTableAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceRouteTableAssociationInput{}
+ }
+
+ output = &ReplaceRouteTableAssociationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// You can also use ReplaceRouteTableAssociation to change which table is the
+// main route table in the VPC. You just specify the main route table's association
+// ID and the route table to be the new main route 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 Elastic Compute Cloud's
+// API operation ReplaceRouteTableAssociation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
+func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
+ req, out := c.ReplaceRouteTableAssociationRequest(input)
+ return out, req.Send()
+}
+
+// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceRouteTableAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
+ req, out := c.ReplaceRouteTableAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opReportInstanceStatus = "ReportInstanceStatus"
+
+// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
+// client's request for the ReportInstanceStatus operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ReportInstanceStatus for more information on using the ReportInstanceStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ReportInstanceStatusRequest method.
+// req, resp := client.ReportInstanceStatusRequest(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/ReportInstanceStatus
+func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
+ op := &request.Operation{
+ Name: opReportInstanceStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReportInstanceStatusInput{}
+ }
+
+ output = &ReportInstanceStatusOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
+//
+// Submits feedback about the status of an instance. The instance must be in
+// the running state. If your experience with the instance differs from the
+// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
+// to report your experience with the instance. Amazon EC2 collects this information
+// to improve the accuracy of status checks.
+//
+// Use of this action does not change the value returned by DescribeInstanceStatus.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ReportInstanceStatus for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
+func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
+ req, out := c.ReportInstanceStatusRequest(input)
+ return out, req.Send()
+}
+
+// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReportInstanceStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
+ req, out := c.ReportInstanceStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRequestSpotFleet = "RequestSpotFleet"
+
+// RequestSpotFleetRequest generates a "aws/request.Request" representing the
+// client's request for the RequestSpotFleet operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RequestSpotFleet for more information on using the RequestSpotFleet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RequestSpotFleetRequest method.
+// req, resp := client.RequestSpotFleetRequest(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/RequestSpotFleet
+func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
+ op := &request.Operation{
+ Name: opRequestSpotFleet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RequestSpotFleetInput{}
+ }
+
+ output = &RequestSpotFleetOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a Spot Fleet request.
+//
+// The Spot Fleet request specifies the total target capacity and the On-Demand
+// target capacity. Amazon EC2 calculates the difference between the total capacity
+// and On-Demand capacity, and launches the difference as Spot capacity.
+//
+// You can submit a single request that includes multiple launch specifications
+// that vary by instance type, AMI, Availability Zone, or subnet.
+//
+// By default, the Spot Fleet requests Spot Instances in the Spot pool where
+// the price per unit is the lowest. Each launch specification can include its
+// own instance weighting that reflects the value of the instance type to your
+// application workload.
+//
+// Alternatively, you can specify that the Spot Fleet distribute the target
+// capacity across the Spot pools included in its launch specifications. By
+// ensuring that the Spot Instances in your Spot Fleet are in different Spot
+// pools, you can improve the availability of your fleet.
+//
+// You can specify tags for the Spot Instances. You cannot tag other resource
+// 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)
+// in the Amazon EC2 User Guide for Linux 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 Elastic Compute Cloud's
+// API operation RequestSpotFleet for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
+func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
+ req, out := c.RequestSpotFleetRequest(input)
+ return out, req.Send()
+}
+
+// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RequestSpotFleet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
+ req, out := c.RequestSpotFleetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRequestSpotInstances = "RequestSpotInstances"
+
+// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the RequestSpotInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RequestSpotInstances for more information on using the RequestSpotInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RequestSpotInstancesRequest method.
+// req, resp := client.RequestSpotInstancesRequest(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/RequestSpotInstances
+func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
+ op := &request.Operation{
+ Name: opRequestSpotInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RequestSpotInstancesInput{}
+ }
+
+ output = &RequestSpotInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a Spot Instance request.
+//
+// For more information, see Spot Instance Requests (http://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
+// 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 RequestSpotInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
+func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
+ req, out := c.RequestSpotInstancesRequest(input)
+ return out, req.Send()
+}
+
+// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RequestSpotInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
+ req, out := c.RequestSpotInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
+
+// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ResetFpgaImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ResetFpgaImageAttributeRequest method.
+// req, resp := client.ResetFpgaImageAttributeRequest(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/ResetFpgaImageAttribute
+func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opResetFpgaImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetFpgaImageAttributeInput{}
+ }
+
+ output = &ResetFpgaImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
+// its default value. You can only reset the load permission attribute.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ResetFpgaImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
+func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
+ req, out := c.ResetFpgaImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetFpgaImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
+ req, out := c.ResetFpgaImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opResetImageAttribute = "ResetImageAttribute"
+
+// ResetImageAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ResetImageAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResetImageAttribute for more information on using the ResetImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ResetImageAttributeRequest method.
+// req, resp := client.ResetImageAttributeRequest(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/ResetImageAttribute
+func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
+ op := &request.Operation{
+ Name: opResetImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetImageAttributeInput{}
+ }
+
+ output = &ResetImageAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Resets an attribute of an AMI to its default value.
+//
+// The productCodes attribute can't be reset.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ResetImageAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
+func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
+ req, out := c.ResetImageAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
+ req, out := c.ResetImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opResetInstanceAttribute = "ResetInstanceAttribute"
+
+// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ResetInstanceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ResetInstanceAttributeRequest method.
+// req, resp := client.ResetInstanceAttributeRequest(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/ResetInstanceAttribute
+func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
+ op := &request.Operation{
+ Name: opResetInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetInstanceAttributeInput{}
+ }
+
+ output = &ResetInstanceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Resets an attribute of an instance to its default value. To reset the kernel
+// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
+// the instance can be either running or stopped.
+//
+// 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)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ResetInstanceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
+func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
+ req, out := c.ResetInstanceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
+ req, out := c.ResetInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
+
+// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
+// req, resp := client.ResetNetworkInterfaceAttributeRequest(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/ResetNetworkInterfaceAttribute
+func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
+ op := &request.Operation{
+ Name: opResetNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetNetworkInterfaceAttributeInput{}
+ }
+
+ output = &ResetNetworkInterfaceAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Resets a network interface attribute. You can specify only one attribute
+// at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ResetNetworkInterfaceAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
+func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ResetNetworkInterfaceAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ResetNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opResetSnapshotAttribute = "ResetSnapshotAttribute"
+
+// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
+// client's request for the ResetSnapshotAttribute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ResetSnapshotAttributeRequest method.
+// req, resp := client.ResetSnapshotAttributeRequest(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/ResetSnapshotAttribute
+func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
+ op := &request.Operation{
+ Name: opResetSnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetSnapshotAttributeInput{}
+ }
+
+ output = &ResetSnapshotAttributeOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
+//
+// Resets permission settings for the specified snapshot.
+//
+// For more information on modifying snapshot permissions, see Sharing Snapshots
+// (http://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
+// 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 ResetSnapshotAttribute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
+func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
+ req, out := c.ResetSnapshotAttributeRequest(input)
+ return out, req.Send()
+}
+
+// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetSnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
+ req, out := c.ResetSnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRestoreAddressToClassic = "RestoreAddressToClassic"
+
+// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
+// client's request for the RestoreAddressToClassic operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RestoreAddressToClassicRequest method.
+// req, resp := client.RestoreAddressToClassicRequest(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/RestoreAddressToClassic
+func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
+ op := &request.Operation{
+ Name: opRestoreAddressToClassic,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RestoreAddressToClassicInput{}
+ }
+
+ output = &RestoreAddressToClassicOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
+//
+// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
+// back to the EC2-Classic platform. You cannot move an Elastic IP address that
+// was originally allocated for use in EC2-VPC. The Elastic IP address must
+// not be associated with an instance or network interface.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RestoreAddressToClassic for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
+func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
+ req, out := c.RestoreAddressToClassicRequest(input)
+ return out, req.Send()
+}
+
+// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RestoreAddressToClassic for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
+ req, out := c.RestoreAddressToClassicRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
+
+// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
+// client's request for the RevokeSecurityGroupEgress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RevokeSecurityGroupEgressRequest method.
+// req, resp := client.RevokeSecurityGroupEgressRequest(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/RevokeSecurityGroupEgress
+func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
+ op := &request.Operation{
+ Name: opRevokeSecurityGroupEgress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RevokeSecurityGroupEgressInput{}
+ }
+
+ output = &RevokeSecurityGroupEgressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
+//
+// [EC2-VPC only] Removes one or more egress rules from a security group for
+// EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
+// To remove a rule, the values that you specify (for example, ports) must match
+// the existing rule's values exactly.
+//
+// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
+// security group. For the TCP and UDP protocols, you must also specify the
+// destination port or range of ports. For the ICMP protocol, you must also
+// specify the ICMP type and code. If the security group rule has a description,
+// you do not have to specify the description to revoke the rule.
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 RevokeSecurityGroupEgress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
+func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
+ req, out := c.RevokeSecurityGroupEgressRequest(input)
+ return out, req.Send()
+}
+
+// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RevokeSecurityGroupEgress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
+ req, out := c.RevokeSecurityGroupEgressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
+
+// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
+// client's request for the RevokeSecurityGroupIngress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RevokeSecurityGroupIngressRequest method.
+// req, resp := client.RevokeSecurityGroupIngressRequest(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/RevokeSecurityGroupIngress
+func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
+ op := &request.Operation{
+ Name: opRevokeSecurityGroupIngress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RevokeSecurityGroupIngressInput{}
+ }
+
+ output = &RevokeSecurityGroupIngressOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
+//
+// Removes one or more ingress rules from a security group. To remove a rule,
+// the values that you specify (for example, ports) must match the existing
+// rule's values exactly.
+//
+// [EC2-Classic security groups only] If the values you specify do not match
+// the existing rule's values, no error is returned. Use DescribeSecurityGroups
+// to verify that the rule has been removed.
+//
+// Each rule consists of the protocol and the CIDR range or source security
+// group. For the TCP and UDP protocols, you must also specify the destination
+// port or range of ports. For the ICMP protocol, you must also specify the
+// ICMP type and code. If the security group rule has a description, you do
+// not have to specify the description to revoke the rule.
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 RevokeSecurityGroupIngress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
+func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
+ req, out := c.RevokeSecurityGroupIngressRequest(input)
+ return out, req.Send()
+}
+
+// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RevokeSecurityGroupIngress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
+ req, out := c.RevokeSecurityGroupIngressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRunInstances = "RunInstances"
+
+// RunInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the RunInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RunInstances for more information on using the RunInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RunInstancesRequest method.
+// req, resp := client.RunInstancesRequest(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/RunInstances
+func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
+ op := &request.Operation{
+ Name: opRunInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RunInstancesInput{}
+ }
+
+ output = &Reservation{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RunInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Launches the specified number of instances using an AMI for which you have
+// permissions.
+//
+// You can specify a number of options, or leave the default options. The following
+// rules apply:
+//
+// * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
+// from your default VPC for you. If you don't have a default VPC, you must
+// specify a subnet ID in the request.
+//
+// * [EC2-Classic] If don't specify an Availability Zone, we choose one for
+// you.
+//
+// * Some instance types must be launched into a VPC. If you do not have
+// a default VPC, or if you do not specify a subnet ID, the request fails.
+// For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
+//
+// * [EC2-VPC] All instances have a network interface with a primary private
+// IPv4 address. If you don't specify this address, we choose one from the
+// IPv4 range of your subnet.
+//
+// * Not all instance types support IPv6 addresses. For more information,
+// see Instance Types (http://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).
+//
+// * 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),
+// 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.
+//
+// To ensure faster instance launches, break up large requests into smaller
+// batches. For example, create five separate launch requests for 100 instances
+// each instead of one launch request for 500 instances.
+//
+// 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).
+//
+// 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)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RunInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
+func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
+ req, out := c.RunInstancesRequest(input)
+ return out, req.Send()
+}
+
+// RunInstancesWithContext is the same as RunInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RunInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
+ req, out := c.RunInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRunScheduledInstances = "RunScheduledInstances"
+
+// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the RunScheduledInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RunScheduledInstances for more information on using the RunScheduledInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RunScheduledInstancesRequest method.
+// req, resp := client.RunScheduledInstancesRequest(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/RunScheduledInstances
+func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
+ op := &request.Operation{
+ Name: opRunScheduledInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RunScheduledInstancesInput{}
+ }
+
+ output = &RunScheduledInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Launches the specified Scheduled Instances.
+//
+// Before you can launch a Scheduled Instance, you must purchase it and obtain
+// an identifier using PurchaseScheduledInstances.
+//
+// You must launch a Scheduled Instance during its scheduled time period. You
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RunScheduledInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
+func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
+ req, out := c.RunScheduledInstancesRequest(input)
+ return out, req.Send()
+}
+
+// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RunScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
+ req, out := c.RunScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opStartInstances = "StartInstances"
+
+// StartInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the StartInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See StartInstances for more information on using the StartInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the StartInstancesRequest method.
+// req, resp := client.StartInstancesRequest(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/StartInstances
+func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
+ op := &request.Operation{
+ Name: opStartInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &StartInstancesInput{}
+ }
+
+ output = &StartInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// StartInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Starts an Amazon EBS-backed instance that you've previously stopped.
+//
+// Instances that use Amazon EBS volumes as their root devices can be quickly
+// stopped and started. When an instance is stopped, the compute resources are
+// released and you are not billed for instance usage. However, your root partition
+// Amazon EBS volume remains and continues to persist your data, and you are
+// charged for Amazon EBS volume usage. You can restart your instance at any
+// time. Every time you start your Windows instance, Amazon EC2 charges you
+// for a full instance hour. If you stop and restart your Windows instance,
+// a new instance hour begins and Amazon EC2 charges you for another full instance
+// hour even if you are still within the same 60-minute period when it was stopped.
+// Every time you start your Linux instance, Amazon EC2 charges a one-minute
+// minimum for instance usage, and thereafter charges per second for instance
+// usage.
+//
+// Before stopping an instance, make sure it is in a state from which it can
+// be restarted. Stopping an instance does not preserve data stored in RAM.
+//
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation StartInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
+func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
+ req, out := c.StartInstancesRequest(input)
+ return out, req.Send()
+}
+
+// StartInstancesWithContext is the same as StartInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See StartInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
+ req, out := c.StartInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opStopInstances = "StopInstances"
+
+// StopInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the StopInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See StopInstances for more information on using the StopInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the StopInstancesRequest method.
+// req, resp := client.StopInstancesRequest(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/StopInstances
+func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
+ op := &request.Operation{
+ Name: opStopInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &StopInstancesInput{}
+ }
+
+ output = &StopInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// StopInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Stops an Amazon EBS-backed instance.
+//
+// We don't charge usage for a stopped instance, or data transfer fees; however,
+// your root partition Amazon EBS volume remains and continues to persist your
+// data, and you are charged for Amazon EBS volume usage. Every time you start
+// your Windows instance, Amazon EC2 charges you for a full instance hour. If
+// you stop and restart your Windows instance, a new instance hour begins and
+// Amazon EC2 charges you for another full instance hour even if you are still
+// within the same 60-minute period when it was stopped. Every time you start
+// your Linux instance, Amazon EC2 charges a one-minute minimum for instance
+// usage, and thereafter charges per second for instance usage.
+//
+// You can't start or stop Spot Instances, and you can't stop instance store-backed
+// instances.
+//
+// When you stop an instance, we shut it down. You can restart your instance
+// at any time. Before stopping an instance, make sure it is in a state from
+// which it can be restarted. Stopping an instance does not preserve data stored
+// in RAM.
+//
+// Stopping an instance is different to rebooting or terminating it. For example,
+// when you stop an instance, the root device and any other devices attached
+// to the instance persist. When you terminate 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,
+// and terminating instances, see Instance Lifecycle (http://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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation StopInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
+func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
+ req, out := c.StopInstancesRequest(input)
+ return out, req.Send()
+}
+
+// StopInstancesWithContext is the same as StopInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See StopInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
+ req, out := c.StopInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opTerminateInstances = "TerminateInstances"
+
+// TerminateInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the TerminateInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See TerminateInstances for more information on using the TerminateInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the TerminateInstancesRequest method.
+// req, resp := client.TerminateInstancesRequest(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/TerminateInstances
+func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
+ op := &request.Operation{
+ Name: opTerminateInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &TerminateInstancesInput{}
+ }
+
+ output = &TerminateInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// TerminateInstances API operation for Amazon Elastic Compute Cloud.
+//
+// Shuts down one or more instances. This operation is idempotent; if you terminate
+// an instance more than once, each call succeeds.
+//
+// If you specify multiple instances and the request fails (for example, because
+// of a single incorrect instance ID), none of the instances are terminated.
+//
+// Terminated instances remain visible after termination (for approximately
+// one hour).
+//
+// By default, Amazon EC2 deletes all EBS volumes that were attached when the
+// instance launched. Volumes attached after instance launch continue running.
+//
+// You can stop, start, and terminate EBS-backed instances. You can only terminate
+// instance store-backed instances. What happens to an instance differs if you
+// stop it or terminate it. For example, when you stop an instance, the root
+// device and any other devices attached to the instance persist. When you terminate
+// 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)
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation TerminateInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
+func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
+ req, out := c.TerminateInstancesRequest(input)
+ return out, req.Send()
+}
+
+// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See TerminateInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
+ req, out := c.TerminateInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
+
+// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
+// client's request for the UnassignIpv6Addresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UnassignIpv6AddressesRequest method.
+// req, resp := client.UnassignIpv6AddressesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
+func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
+ op := &request.Operation{
+ Name: opUnassignIpv6Addresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UnassignIpv6AddressesInput{}
+ }
+
+ output = &UnassignIpv6AddressesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
+//
+// Unassigns one or more IPv6 addresses from a network interface.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation UnassignIpv6Addresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
+func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
+ req, out := c.UnassignIpv6AddressesRequest(input)
+ return out, req.Send()
+}
+
+// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnassignIpv6Addresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
+ req, out := c.UnassignIpv6AddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
+
+// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
+// client's request for the UnassignPrivateIpAddresses operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UnassignPrivateIpAddressesRequest method.
+// req, resp := client.UnassignPrivateIpAddressesRequest(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/UnassignPrivateIpAddresses
+func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
+ op := &request.Operation{
+ Name: opUnassignPrivateIpAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UnassignPrivateIpAddressesInput{}
+ }
+
+ output = &UnassignPrivateIpAddressesOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
+//
+// Unassigns one or more secondary private IP addresses from a network interface.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation UnassignPrivateIpAddresses for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
+func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
+ req, out := c.UnassignPrivateIpAddressesRequest(input)
+ return out, req.Send()
+}
+
+// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnassignPrivateIpAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
+ req, out := c.UnassignPrivateIpAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUnmonitorInstances = "UnmonitorInstances"
+
+// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
+// client's request for the UnmonitorInstances operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UnmonitorInstances for more information on using the UnmonitorInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UnmonitorInstancesRequest method.
+// req, resp := client.UnmonitorInstancesRequest(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/UnmonitorInstances
+func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
+ op := &request.Operation{
+ Name: opUnmonitorInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UnmonitorInstancesInput{}
+ }
+
+ output = &UnmonitorInstancesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// 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)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation UnmonitorInstances for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
+func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
+ req, out := c.UnmonitorInstancesRequest(input)
+ return out, req.Send()
+}
+
+// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnmonitorInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
+ req, out := c.UnmonitorInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
+
+// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
+// req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(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/UpdateSecurityGroupRuleDescriptionsEgress
+func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
+ op := &request.Operation{
+ Name: opUpdateSecurityGroupRuleDescriptionsEgress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
+ }
+
+ output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
+//
+// [EC2-VPC only] Updates the description of an egress (outbound) security group
+// rule. You can replace an existing description, or add a description to a
+// rule that did not have one previously.
+//
+// You specify the description as part of the IP permissions structure. You
+// can remove a description for a security group rule by omitting the description
+// parameter 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 Elastic Compute Cloud's
+// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
+func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
+ req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
+ return out, req.Send()
+}
+
+// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
+ req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
+
+// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
+// req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(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/UpdateSecurityGroupRuleDescriptionsIngress
+func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
+ op := &request.Operation{
+ Name: opUpdateSecurityGroupRuleDescriptionsIngress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
+ }
+
+ output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
+//
+// Updates the description of an ingress (inbound) security group rule. You
+// can replace an existing description, or add a description to a rule that
+// did not have one previously.
+//
+// You specify the description as part of the IP permissions structure. You
+// can remove a description for a security group rule by omitting the description
+// parameter 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 Elastic Compute Cloud's
+// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
+func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
+ req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
+ return out, req.Send()
+}
+
+// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the 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) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
+ req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// Contains the parameters for accepting the quote.
+type AcceptReservedInstancesExchangeQuoteInput 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 IDs of the Convertible Reserved Instances to exchange for another Convertible
+ // Reserved Instance of the same or higher value.
+ //
+ // ReservedInstanceIds is a required field
+ ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
+
+ // The configuration of the target Convertible Reserved Instance to exchange
+ // for your current Convertible Reserved Instances.
+ TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
+}
+
+// String returns the string representation
+func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
+ if s.ReservedInstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
+ }
+ if s.TargetConfigurations != nil {
+ for i, v := range s.TargetConfigurations {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
+func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
+ s.ReservedInstanceIds = v
+ return s
+}
+
+// SetTargetConfigurations sets the TargetConfigurations field's value.
+func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
+ s.TargetConfigurations = v
+ return s
+}
+
+// The result of the exchange and whether it was successful.
+type AcceptReservedInstancesExchangeQuoteOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the successful exchange.
+ ExchangeId *string `locationName:"exchangeId" type:"string"`
+}
+
+// String returns the string representation
+func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
+ return s.String()
+}
+
+// SetExchangeId sets the ExchangeId field's value.
+func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
+ s.ExchangeId = &v
+ return s
+}
+
+type AcceptVpcEndpointConnectionsInput 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 endpoint service.
+ //
+ // ServiceId is a required field
+ ServiceId *string `type:"string" required:"true"`
+
+ // The IDs of one or more interface VPC endpoints.
+ //
+ // VpcEndpointIds is a required field
+ VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s AcceptVpcEndpointConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVpcEndpointConnectionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
+ if s.ServiceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceId"))
+ }
+ if s.VpcEndpointIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
+ s.ServiceId = &v
+ return s
+}
+
+// SetVpcEndpointIds sets the VpcEndpointIds field's value.
+func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
+ s.VpcEndpointIds = v
+ return s
+}
+
+type AcceptVpcEndpointConnectionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the interface endpoints that were not accepted, if applicable.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s AcceptVpcEndpointConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+// Contains the parameters for AcceptVpcPeeringConnection.
+type AcceptVpcPeeringConnectionInput 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"`
+
+ // The ID of the VPC peering connection. You must specify this parameter in
+ // the request.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
+}
+
+// String returns the string representation
+func (s AcceptVpcPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVpcPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Contains the output of AcceptVpcPeeringConnection.
+type AcceptVpcPeeringConnectionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC peering connection.
+ VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
+}
+
+// String returns the string representation
+func (s AcceptVpcPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVpcPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
+func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
+ s.VpcPeeringConnection = v
+ return s
+}
+
+// Describes an account attribute.
+type AccountAttribute struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the account attribute.
+ AttributeName *string `locationName:"attributeName" type:"string"`
+
+ // One or more values for the account attribute.
+ AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s AccountAttribute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccountAttribute) GoString() string {
+ return s.String()
+}
+
+// SetAttributeName sets the AttributeName field's value.
+func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
+ s.AttributeName = &v
+ return s
+}
+
+// SetAttributeValues sets the AttributeValues field's value.
+func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
+ s.AttributeValues = v
+ return s
+}
+
+// Describes a value of an account attribute.
+type AccountAttributeValue struct {
+ _ struct{} `type:"structure"`
+
+ // The value of the attribute.
+ AttributeValue *string `locationName:"attributeValue" type:"string"`
+}
+
+// String returns the string representation
+func (s AccountAttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccountAttributeValue) GoString() string {
+ return s.String()
+}
+
+// SetAttributeValue sets the AttributeValue field's value.
+func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
+ s.AttributeValue = &v
+ return s
+}
+
+// Describes a running instance in a Spot Fleet.
+type ActiveInstance struct {
+ _ struct{} `type:"structure"`
+
+ // The health status of the instance. If the status of either the instance status
+ // check or the system status check is impaired, the health status of the instance
+ // is unhealthy. Otherwise, the health status is healthy.
+ InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
+}
+
+// String returns the string representation
+func (s ActiveInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ActiveInstance) GoString() string {
+ return s.String()
+}
+
+// SetInstanceHealth sets the InstanceHealth field's value.
+func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
+ s.InstanceHealth = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
+ s.InstanceType = &v
+ return s
+}
+
+// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
+func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
+ s.SpotInstanceRequestId = &v
+ return s
+}
+
+// Describes an Elastic IP address.
+type Address struct {
+ _ struct{} `type:"structure"`
+
+ // The ID representing the allocation of the address for use with EC2-VPC.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // The ID representing the association of the address with an instance in a
+ // VPC.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
+ // (standard) or instances in a VPC (vpc).
+ Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
+
+ // The ID of the instance that the address is associated with (if any).
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the AWS account that owns the network interface.
+ NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
+
+ // The private IP address associated with the Elastic IP address.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The Elastic IP address.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+
+ // Any tags assigned to the Elastic IP address.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s Address) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Address) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *Address) SetAllocationId(v string) *Address {
+ s.AllocationId = &v
+ return s
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *Address) SetAssociationId(v string) *Address {
+ s.AssociationId = &v
+ return s
+}
+
+// SetDomain sets the Domain field's value.
+func (s *Address) SetDomain(v string) *Address {
+ s.Domain = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *Address) SetInstanceId(v string) *Address {
+ s.InstanceId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *Address) SetNetworkInterfaceId(v string) *Address {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
+func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
+ s.NetworkInterfaceOwnerId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *Address) SetPrivateIpAddress(v string) *Address {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *Address) SetPublicIp(v string) *Address {
+ s.PublicIp = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Address) SetTags(v []*Tag) *Address {
+ s.Tags = v
+ return s
+}
+
+// Contains the parameters for AllocateAddress.
+type AllocateAddressInput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The Elastic IP address to recover.
+ Address *string `type:"string"`
+
+ // Set to vpc to allocate the address for use with instances in a VPC.
+ //
+ // Default: The address is for use with instances in EC2-Classic.
+ Domain *string `type:"string" enum:"DomainType"`
+
+ // 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"`
+}
+
+// String returns the string representation
+func (s AllocateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateAddressInput) GoString() string {
+ return s.String()
+}
+
+// SetAddress sets the Address field's value.
+func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
+ s.Address = &v
+ return s
+}
+
+// SetDomain sets the Domain field's value.
+func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
+ s.Domain = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of AllocateAddress.
+type AllocateAddressOutput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
+ // IP address for use with instances in a VPC.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
+ // (standard) or instances in a VPC (vpc).
+ Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
+
+ // The Elastic IP address.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+}
+
+// String returns the string representation
+func (s AllocateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateAddressOutput) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
+ s.AllocationId = &v
+ return s
+}
+
+// SetDomain sets the Domain field's value.
+func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
+ s.Domain = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
+ s.PublicIp = &v
+ return s
+}
+
+// Contains the parameters for AllocateHosts.
+type AllocateHostsInput struct {
+ _ struct{} `type:"structure"`
+
+ // This is enabled by default. This property allows instances to be automatically
+ // placed onto available Dedicated Hosts, when you are launching instances without
+ // specifying a host ID.
+ //
+ // Default: Enabled
+ AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
+
+ // The Availability Zone for the Dedicated Hosts.
+ //
+ // AvailabilityZone is a required field
+ 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Specify the instance type for which to configure your Dedicated Hosts. When
+ // you specify the instance type, that is the only instance type that you can
+ // launch onto that host.
+ //
+ // InstanceType is a required field
+ InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
+
+ // The number of Dedicated Hosts to allocate to your account with these parameters.
+ //
+ // Quantity is a required field
+ Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s AllocateHostsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateHostsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AllocateHostsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
+ if s.AvailabilityZone == nil {
+ invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
+ }
+ if s.InstanceType == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceType"))
+ }
+ if s.Quantity == nil {
+ invalidParams.Add(request.NewErrParamRequired("Quantity"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAutoPlacement sets the AutoPlacement field's value.
+func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
+ s.AutoPlacement = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
+ s.InstanceType = &v
+ return s
+}
+
+// SetQuantity sets the Quantity field's value.
+func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
+ s.Quantity = &v
+ return s
+}
+
+// Contains the output of AllocateHosts.
+type AllocateHostsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the allocated Dedicated Host. This is used to launch an instance
+ // onto a specific host.
+ HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s AllocateHostsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateHostsOutput) GoString() string {
+ return s.String()
+}
+
+// SetHostIds sets the HostIds field's value.
+func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
+ s.HostIds = v
+ return s
+}
+
+// Describes a principal.
+type AllowedPrincipal struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the principal.
+ Principal *string `locationName:"principal" type:"string"`
+
+ // The type of principal.
+ PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
+}
+
+// String returns the string representation
+func (s AllowedPrincipal) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllowedPrincipal) GoString() string {
+ return s.String()
+}
+
+// SetPrincipal sets the Principal field's value.
+func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
+ s.Principal = &v
+ return s
+}
+
+// SetPrincipalType sets the PrincipalType field's value.
+func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
+ s.PrincipalType = &v
+ return s
+}
+
+type AssignIpv6AddressesInput struct {
+ _ struct{} `type:"structure"`
+
+ // The number of IPv6 addresses to assign to the network interface. Amazon EC2
+ // automatically selects the IPv6 addresses from the subnet range. You can't
+ // use this option if specifying specific IPv6 addresses.
+ Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
+
+ // One or more specific IPv6 addresses to be assigned to the network interface.
+ // You can't use this option if you're specifying a number of IPv6 addresses.
+ Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssignIpv6AddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignIpv6AddressesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssignIpv6AddressesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+type AssignIpv6AddressesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 addresses assigned to the network interface.
+ AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssignIpv6AddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignIpv6AddressesOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
+func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
+ s.AssignedIpv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// Contains the parameters for AssignPrivateIpAddresses.
+type AssignPrivateIpAddressesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether to allow an IP address that is already assigned to another
+ // network interface or instance to be reassigned to the specified network interface.
+ AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // One or more IP addresses to be assigned as a secondary private IP address
+ // to the network interface. You can't specify this parameter when also specifying
+ // a number of secondary IP addresses.
+ //
+ // If you don't specify an IP address, Amazon EC2 automatically selects an IP
+ // address within the subnet range.
+ PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
+
+ // The number of secondary IP addresses to assign to the network interface.
+ // You can't specify this parameter when also specifying private IP addresses.
+ SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+}
+
+// String returns the string representation
+func (s AssignPrivateIpAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignPrivateIpAddressesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssignPrivateIpAddressesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAllowReassignment sets the AllowReassignment field's value.
+func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
+ s.AllowReassignment = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+type AssignPrivateIpAddressesOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssignPrivateIpAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignPrivateIpAddressesOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for AssociateAddress.
+type AssociateAddressInput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
+ AllocationId *string `type:"string"`
+
+ // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
+ // IP address that is already associated with an instance or network interface
+ // to be reassociated with the specified instance or network interface. Otherwise,
+ // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
+ // automatic, therefore you can specify false to ensure the operation fails
+ // if the Elastic IP address is already associated with another resource.
+ AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
+
+ // 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"`
+
+ // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
+ // can specify either the instance ID or the network interface ID, but not both.
+ // The operation fails if you specify an instance ID unless exactly one network
+ // interface is attached.
+ InstanceId *string `type:"string"`
+
+ // [EC2-VPC] The ID of the network interface. If the instance has more than
+ // one network interface, you must specify a network interface ID.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // [EC2-VPC] The primary or secondary private IP address to associate with the
+ // Elastic IP address. If no private IP address is specified, the Elastic IP
+ // address is associated with the primary private IP address.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The Elastic IP address. This is required for EC2-Classic.
+ PublicIp *string `type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateAddressInput) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
+ s.AllocationId = &v
+ return s
+}
+
+// SetAllowReassociation sets the AllowReassociation field's value.
+func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
+ s.AllowReassociation = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
+ s.PublicIp = &v
+ return s
+}
+
+// Contains the output of AssociateAddress.
+type AssociateAddressOutput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The ID that represents the association of the Elastic IP address
+ // with an instance.
+ AssociationId *string `locationName:"associationId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateAddressOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
+ s.AssociationId = &v
+ return s
+}
+
+// Contains the parameters for AssociateDhcpOptions.
+type AssociateDhcpOptionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the DHCP options set, or default to associate no DHCP options with
+ // the VPC.
+ //
+ // DhcpOptionsId is a required field
+ DhcpOptionsId *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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssociateDhcpOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateDhcpOptionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateDhcpOptionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
+ if s.DhcpOptionsId == nil {
+ invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDhcpOptionsId sets the DhcpOptionsId field's value.
+func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
+ s.DhcpOptionsId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
+ s.VpcId = &v
+ return s
+}
+
+type AssociateDhcpOptionsOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateDhcpOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateDhcpOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type AssociateIamInstanceProfileInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IAM instance profile.
+ //
+ // IamInstanceProfile is a required field
+ IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssociateIamInstanceProfileInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateIamInstanceProfileInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateIamInstanceProfileInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
+ if s.IamInstanceProfile == nil {
+ invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
+ s.InstanceId = &v
+ return s
+}
+
+type AssociateIamInstanceProfileOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IAM instance profile association.
+ IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateIamInstanceProfileOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateIamInstanceProfileOutput) GoString() string {
+ return s.String()
+}
+
+// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
+func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
+ s.IamInstanceProfileAssociation = v
+ return s
+}
+
+// Contains the parameters for AssociateRouteTable.
+type AssociateRouteTableInput 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"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of the subnet.
+ //
+ // SubnetId is a required field
+ SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssociateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateRouteTableInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
+ s.RouteTableId = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
+ s.SubnetId = &v
+ return s
+}
+
+// Contains the output of AssociateRouteTable.
+type AssociateRouteTableOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The route table association ID (needed to disassociate the route table).
+ AssociationId *string `locationName:"associationId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
+ s.AssociationId = &v
+ return s
+}
+
+type AssociateSubnetCidrBlockInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
+ //
+ // Ipv6CidrBlock is a required field
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
+
+ // The ID of your subnet.
+ //
+ // SubnetId is a required field
+ SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssociateSubnetCidrBlockInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateSubnetCidrBlockInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateSubnetCidrBlockInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
+ if s.Ipv6CidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
+ }
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
+ s.SubnetId = &v
+ return s
+}
+
+type AssociateSubnetCidrBlockOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IPv6 CIDR block association.
+ Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateSubnetCidrBlockOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateSubnetCidrBlockOutput) GoString() string {
+ return s.String()
+}
+
+// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
+func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
+ s.Ipv6CidrBlockAssociation = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
+ s.SubnetId = &v
+ return s
+}
+
+type AssociateVpcCidrBlockInput struct {
+ _ struct{} `type:"structure"`
+
+ // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
+ // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
+ // CIDR block.
+ AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
+
+ // An IPv4 CIDR block to associate with the VPC.
+ CidrBlock *string `type:"string"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AssociateVpcCidrBlockInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateVpcCidrBlockInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateVpcCidrBlockInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
+func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
+ s.AmazonProvidedIpv6CidrBlock = &v
+ return s
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
+ s.VpcId = &v
+ return s
+}
+
+type AssociateVpcCidrBlockOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IPv4 CIDR block association.
+ CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
+
+ // Information about the IPv6 CIDR block association.
+ Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateVpcCidrBlockOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateVpcCidrBlockOutput) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
+func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
+ s.CidrBlockAssociation = v
+ return s
+}
+
+// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
+func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
+ s.Ipv6CidrBlockAssociation = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the parameters for AttachClassicLinkVpc.
+type AttachClassicLinkVpcInput struct {
+ _ struct{} `type:"structure"`
+
+ // 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"`
+
+ // The ID of one or more of the VPC's security groups. You cannot specify security
+ // groups from a different VPC.
+ //
+ // Groups is a required field
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
+
+ // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of a ClassicLink-enabled VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AttachClassicLinkVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachClassicLinkVpcInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AttachClassicLinkVpcInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
+ if s.Groups == nil {
+ invalidParams.Add(request.NewErrParamRequired("Groups"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
+ s.Groups = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of AttachClassicLinkVpc.
+type AttachClassicLinkVpcOutput 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 AttachClassicLinkVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachClassicLinkVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for AttachInternetGateway.
+type AttachInternetGatewayInput 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"`
+
+ // The ID of the Internet gateway.
+ //
+ // InternetGatewayId is a required field
+ InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AttachInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AttachInternetGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
+ if s.InternetGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInternetGatewayId sets the InternetGatewayId field's value.
+func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
+ s.InternetGatewayId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
+ s.VpcId = &v
+ return s
+}
+
+type AttachInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for AttachNetworkInterface.
+type AttachNetworkInterfaceInput struct {
+ _ struct{} `type:"structure"`
+
+ // The index of the device for the network interface attachment.
+ //
+ // DeviceIndex is a required field
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" 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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AttachNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AttachNetworkInterfaceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
+ if s.DeviceIndex == nil {
+ invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// Contains the output of AttachNetworkInterface.
+type AttachNetworkInterfaceOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the network interface attachment.
+ AttachmentId *string `locationName:"attachmentId" type:"string"`
+}
+
+// String returns the string representation
+func (s AttachNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+// SetAttachmentId sets the AttachmentId field's value.
+func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
+ s.AttachmentId = &v
+ return s
+}
+
+// Contains the parameters for AttachVolume.
+type AttachVolumeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ //
+ // Device is a required field
+ Device *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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+
+ // The ID of the EBS volume. The volume and instance must be within the same
+ // Availability Zone.
+ //
+ // VolumeId is a required field
+ VolumeId *string `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.Device == nil {
+ invalidParams.Add(request.NewErrParamRequired("Device"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDevice sets the Device field's value.
+func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
+ s.Device = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
+ s.VolumeId = &v
+ return s
+}
+
+// Contains the parameters for AttachVpnGateway.
+type AttachVpnGatewayInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ //
+ // VpnGatewayId is a required field
+ VpnGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AttachVpnGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachVpnGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AttachVpnGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+ if s.VpnGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
+ s.VpcId = &v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
+ s.VpnGatewayId = &v
+ return s
+}
+
+// Contains the output of AttachVpnGateway.
+type AttachVpnGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the attachment.
+ VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachVpnGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachVpnGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcAttachment sets the VpcAttachment field's value.
+func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
+ s.VpcAttachment = v
+ return s
+}
+
+// Describes a value for a resource attribute that is a Boolean value.
+type AttributeBooleanValue struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute value. The valid values are true or false.
+ Value *bool `locationName:"value" type:"boolean"`
+}
+
+// String returns the string representation
+func (s AttributeBooleanValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttributeBooleanValue) GoString() string {
+ return s.String()
+}
+
+// SetValue sets the Value field's value.
+func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
+ s.Value = &v
+ return s
+}
+
+// Describes a value for a resource attribute that is a String.
+type AttributeValue struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute value. The value is case-sensitive.
+ Value *string `locationName:"value" type:"string"`
+}
+
+// String returns the string representation
+func (s AttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttributeValue) GoString() string {
+ return s.String()
+}
+
+// SetValue sets the Value field's value.
+func (s *AttributeValue) SetValue(v string) *AttributeValue {
+ s.Value = &v
+ return s
+}
+
+// Contains the parameters for AuthorizeSecurityGroupEgress.
+type AuthorizeSecurityGroupEgressInput struct {
+ _ struct{} `type:"structure"`
+
+ // Not supported. Use a set of IP permissions to specify the CIDR.
+ CidrIp *string `locationName:"cidrIp" 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 `locationName:"dryRun" type:"boolean"`
+
+ // Not supported. Use a set of IP permissions to specify the port.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The ID of the security group.
+ //
+ // GroupId is a required field
+ GroupId *string `locationName:"groupId" type:"string" required:"true"`
+
+ // One or more sets of IP permissions. You can't specify a destination security
+ // group and a CIDR IP address range in the same set of permissions.
+ IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // Not supported. Use a set of IP permissions to specify the protocol name or
+ // number.
+ IpProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify a destination security
+ // group.
+ SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify a destination security
+ // group.
+ SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify the port.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupEgressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupEgressInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
+ if s.GroupId == nil {
+ invalidParams.Add(request.NewErrParamRequired("GroupId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCidrIp sets the CidrIp field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
+ s.CidrIp = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
+ s.FromPort = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
+ s.SourceSecurityGroupName = &v
+ return s
+}
+
+// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
+ s.SourceSecurityGroupOwnerId = &v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
+ s.ToPort = &v
+ return s
+}
+
+type AuthorizeSecurityGroupEgressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupEgressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for AuthorizeSecurityGroupIngress.
+type AuthorizeSecurityGroupIngressInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR IPv4 address range. You can't specify this parameter when specifying
+ // a source security group.
+ CidrIp *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 `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
+ // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
+ // If you specify all ICMP/ICMPv6 types, you must specify all codes.
+ FromPort *int64 `type:"integer"`
+
+ // The ID of the security group. You must specify either the security group
+ // ID or the security group name in the request. For security groups in a nondefault
+ // VPC, you must specify the security group ID.
+ GroupId *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group. You must specify
+ // either the security group ID or the security group name in the request.
+ GroupName *string `type:"string"`
+
+ // One or more sets of IP permissions. Can be used to specify multiple rules
+ // in a single command.
+ IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
+ // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
+ // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
+ // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
+ // a port range; if you don't, traffic for all types and codes is allowed.
+ IpProtocol *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the source security group. You can't
+ // specify this parameter in combination with the following parameters: the
+ // CIDR IP address range, the start of the port range, the IP protocol, and
+ // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
+ // access. To create a rule with a specific IP protocol and port range, use
+ // a set of IP permissions instead. For EC2-VPC, the source security group must
+ // 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
+ // 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
+ // with a specific IP protocol and port range, use a set of IP permissions instead.
+ SourceSecurityGroupOwnerId *string `type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
+ // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If
+ // you specify all ICMP/ICMPv6 types, you must specify all codes.
+ ToPort *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupIngressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupIngressInput) GoString() string {
+ return s.String()
+}
+
+// SetCidrIp sets the CidrIp field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
+ s.CidrIp = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
+ s.FromPort = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
+ s.SourceSecurityGroupName = &v
+ return s
+}
+
+// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
+ s.SourceSecurityGroupOwnerId = &v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
+ s.ToPort = &v
+ return s
+}
+
+type AuthorizeSecurityGroupIngressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupIngressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an Availability Zone.
+type AvailabilityZone struct {
+ _ struct{} `type:"structure"`
+
+ // Any messages about the Availability Zone.
+ Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
+
+ // The name of the region.
+ RegionName *string `locationName:"regionName" type:"string"`
+
+ // The state of the Availability Zone.
+ State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
+
+ // The name of the Availability Zone.
+ ZoneName *string `locationName:"zoneName" 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()
+}
+
+// SetMessages sets the Messages field's value.
+func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
+ s.Messages = v
+ return s
+}
+
+// SetRegionName sets the RegionName field's value.
+func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
+ s.RegionName = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
+ s.State = &v
+ return s
+}
+
+// SetZoneName sets the ZoneName field's value.
+func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
+ s.ZoneName = &v
+ return s
+}
+
+// Describes a message about an Availability Zone.
+type AvailabilityZoneMessage struct {
+ _ struct{} `type:"structure"`
+
+ // The message about the Availability Zone.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s AvailabilityZoneMessage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AvailabilityZoneMessage) GoString() string {
+ return s.String()
+}
+
+// SetMessage sets the Message field's value.
+func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
+ s.Message = &v
+ return s
+}
+
+// The capacity information for instances launched onto the Dedicated Host.
+type AvailableCapacity struct {
+ _ struct{} `type:"structure"`
+
+ // The total number of instances that the Dedicated Host supports.
+ AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
+
+ // The number of vCPUs available on the Dedicated Host.
+ AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
+}
+
+// String returns the string representation
+func (s AvailableCapacity) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AvailableCapacity) GoString() string {
+ return s.String()
+}
+
+// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
+func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
+ s.AvailableInstanceCapacity = v
+ return s
+}
+
+// SetAvailableVCpus sets the AvailableVCpus field's value.
+func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
+ s.AvailableVCpus = &v
+ return s
+}
+
+type BlobAttributeValue struct {
+ _ struct{} `type:"structure"`
+
+ // Value is automatically base64 encoded/decoded by the SDK.
+ Value []byte `locationName:"value" type:"blob"`
+}
+
+// String returns the string representation
+func (s BlobAttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BlobAttributeValue) GoString() string {
+ return s.String()
+}
+
+// SetValue sets the Value field's value.
+func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
+ s.Value = v
+ return s
+}
+
+// Describes a block device mapping.
+type BlockDeviceMapping struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
+
+ // Suppresses the specified device included in the block device mapping of the
+ // AMI.
+ NoDevice *string `locationName:"noDevice" type:"string"`
+
+ // The virtual device name (ephemeralN). Instance store volumes are numbered
+ // starting from 0. An instance type with 2 available instance store volumes
+ // can specify mappings for ephemeral0 and ephemeral1.The number of available
+ // instance store volumes depends on the instance type. After you connect to
+ // the instance, you must mount the volume.
+ //
+ // Constraints: For M3 instances, you must specify instance store volumes in
+ // the block device mapping for the instance. When you launch an M3 instance,
+ // we ignore any instance store volumes specified in the block device mapping
+ // for the AMI.
+ VirtualName *string `locationName:"virtualName" type:"string"`
+}
+
+// String returns the string representation
+func (s BlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
+ s.Ebs = v
+ return s
+}
+
+// SetNoDevice sets the NoDevice field's value.
+func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
+ s.NoDevice = &v
+ return s
+}
+
+// SetVirtualName sets the VirtualName field's value.
+func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
+ s.VirtualName = &v
+ return s
+}
+
+// Contains the parameters for BundleInstance.
+type BundleInstanceInput 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"`
+
+ // The ID of the instance to bundle.
+ //
+ // Type: String
+ //
+ // Default: None
+ //
+ // Required: Yes
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+
+ // The bucket in which to store the AMI. You can specify a bucket that you already
+ // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
+ // a bucket that belongs to someone else, Amazon EC2 returns an error.
+ //
+ // Storage is a required field
+ Storage *Storage `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s BundleInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleInstanceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *BundleInstanceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.Storage == nil {
+ invalidParams.Add(request.NewErrParamRequired("Storage"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetStorage sets the Storage field's value.
+func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
+ s.Storage = v
+ return s
+}
+
+// Contains the output of BundleInstance.
+type BundleInstanceOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the bundle task.
+ BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
+}
+
+// String returns the string representation
+func (s BundleInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// SetBundleTask sets the BundleTask field's value.
+func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
+ s.BundleTask = v
+ return s
+}
+
+// Describes a bundle task.
+type BundleTask struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the bundle task.
+ BundleId *string `locationName:"bundleId" type:"string"`
+
+ // If the task fails, a description of the error.
+ BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
+
+ // The ID of the instance associated with this bundle task.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The level of task completion, as a percent (for example, 20%).
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The time this task started.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The state of the task.
+ State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
+
+ // The Amazon S3 storage locations.
+ Storage *Storage `locationName:"storage" type:"structure"`
+
+ // The time of the most recent update for the task.
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s BundleTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleTask) GoString() string {
+ return s.String()
+}
+
+// SetBundleId sets the BundleId field's value.
+func (s *BundleTask) SetBundleId(v string) *BundleTask {
+ s.BundleId = &v
+ return s
+}
+
+// SetBundleTaskError sets the BundleTaskError field's value.
+func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
+ s.BundleTaskError = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *BundleTask) SetInstanceId(v string) *BundleTask {
+ s.InstanceId = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *BundleTask) SetProgress(v string) *BundleTask {
+ s.Progress = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
+ s.StartTime = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *BundleTask) SetState(v string) *BundleTask {
+ s.State = &v
+ return s
+}
+
+// SetStorage sets the Storage field's value.
+func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
+ s.Storage = v
+ return s
+}
+
+// SetUpdateTime sets the UpdateTime field's value.
+func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
+ s.UpdateTime = &v
+ return s
+}
+
+// Describes an error for BundleInstance.
+type BundleTaskError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ Code *string `locationName:"code" type:"string"`
+
+ // The error message.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s BundleTaskError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleTaskError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
+ s.Message = &v
+ return s
+}
+
+// Contains the parameters for CancelBundleTask.
+type CancelBundleTaskInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the bundle task.
+ //
+ // BundleId is a required field
+ BundleId *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"`
+}
+
+// String returns the string representation
+func (s CancelBundleTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelBundleTaskInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelBundleTaskInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
+ if s.BundleId == nil {
+ invalidParams.Add(request.NewErrParamRequired("BundleId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBundleId sets the BundleId field's value.
+func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
+ s.BundleId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of CancelBundleTask.
+type CancelBundleTaskOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the bundle task.
+ BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelBundleTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelBundleTaskOutput) GoString() string {
+ return s.String()
+}
+
+// SetBundleTask sets the BundleTask field's value.
+func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
+ s.BundleTask = v
+ return s
+}
+
+// Contains the parameters for CancelConversionTask.
+type CancelConversionTaskInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the conversion task.
+ //
+ // ConversionTaskId is a required field
+ ConversionTaskId *string `locationName:"conversionTaskId" 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"`
+
+ // The reason for canceling the conversion task.
+ ReasonMessage *string `locationName:"reasonMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s CancelConversionTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelConversionTaskInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelConversionTaskInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
+ if s.ConversionTaskId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetConversionTaskId sets the ConversionTaskId field's value.
+func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
+ s.ConversionTaskId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetReasonMessage sets the ReasonMessage field's value.
+func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
+ s.ReasonMessage = &v
+ return s
+}
+
+type CancelConversionTaskOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelConversionTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelConversionTaskOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CancelExportTask.
+type CancelExportTaskInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
+ //
+ // ExportTaskId is a required field
+ ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelExportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelExportTaskInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelExportTaskInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
+ if s.ExportTaskId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetExportTaskId sets the ExportTaskId field's value.
+func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
+ s.ExportTaskId = &v
+ return s
+}
+
+type CancelExportTaskOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelExportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelExportTaskOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CancelImportTask.
+type CancelImportTaskInput struct {
+ _ struct{} `type:"structure"`
+
+ // The reason for canceling the task.
+ CancelReason *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the import image or import snapshot task to be canceled.
+ ImportTaskId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CancelImportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelImportTaskInput) GoString() string {
+ return s.String()
+}
+
+// SetCancelReason sets the CancelReason field's value.
+func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
+ s.CancelReason = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
+ s.ImportTaskId = &v
+ return s
+}
+
+// Contains the output for CancelImportTask.
+type CancelImportTaskOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the task being canceled.
+ ImportTaskId *string `locationName:"importTaskId" type:"string"`
+
+ // The current state of the task being canceled.
+ PreviousState *string `locationName:"previousState" type:"string"`
+
+ // The current state of the task being canceled.
+ State *string `locationName:"state" type:"string"`
+}
+
+// String returns the string representation
+func (s CancelImportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelImportTaskOutput) GoString() string {
+ return s.String()
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
+ s.ImportTaskId = &v
+ return s
+}
+
+// SetPreviousState sets the PreviousState field's value.
+func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
+ s.PreviousState = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
+ s.State = &v
+ return s
+}
+
+// Contains the parameters for CancelReservedInstancesListing.
+type CancelReservedInstancesListingInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the Reserved Instance listing.
+ //
+ // ReservedInstancesListingId is a required field
+ ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelReservedInstancesListingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelReservedInstancesListingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelReservedInstancesListingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
+ if s.ReservedInstancesListingId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
+func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
+ s.ReservedInstancesListingId = &v
+ return s
+}
+
+// Contains the output of CancelReservedInstancesListing.
+type CancelReservedInstancesListingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Reserved Instance listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CancelReservedInstancesListingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelReservedInstancesListingOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
+func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
+ s.ReservedInstancesListings = v
+ return s
+}
+
+// Describes a Spot Fleet error.
+type CancelSpotFleetRequestsError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ //
+ // Code is a required field
+ Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
+
+ // The description for the error code.
+ //
+ // Message is a required field
+ Message *string `locationName:"message" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
+ s.Message = &v
+ return s
+}
+
+// Describes a Spot Fleet request that was not successfully canceled.
+type CancelSpotFleetRequestsErrorItem struct {
+ _ struct{} `type:"structure"`
+
+ // The error.
+ //
+ // Error is a required field
+ Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
+
+ // The ID of the Spot Fleet request.
+ //
+ // SpotFleetRequestId is a required field
+ SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsErrorItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsErrorItem) GoString() string {
+ return s.String()
+}
+
+// SetError sets the Error field's value.
+func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
+ s.Error = v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// Contains the parameters for CancelSpotFleetRequests.
+type CancelSpotFleetRequestsInput 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"`
+
+ // The IDs of the Spot Fleet requests.
+ //
+ // SpotFleetRequestIds is a required field
+ SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
+
+ // Indicates whether to terminate instances for a Spot Fleet request if it is
+ // canceled successfully.
+ //
+ // TerminateInstances is a required field
+ TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelSpotFleetRequestsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
+ if s.SpotFleetRequestIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
+ }
+ if s.TerminateInstances == nil {
+ invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
+func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
+ s.SpotFleetRequestIds = v
+ return s
+}
+
+// SetTerminateInstances sets the TerminateInstances field's value.
+func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
+ s.TerminateInstances = &v
+ return s
+}
+
+// Contains the output of CancelSpotFleetRequests.
+type CancelSpotFleetRequestsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Spot Fleet requests that are successfully canceled.
+ SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
+
+ // Information about the Spot Fleet requests that are not successfully canceled.
+ UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
+func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
+ s.SuccessfulFleetRequests = v
+ return s
+}
+
+// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
+func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
+ s.UnsuccessfulFleetRequests = v
+ return s
+}
+
+// Describes a Spot Fleet request that was successfully canceled.
+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"`
+
+ // The previous state of the Spot Fleet request.
+ //
+ // PreviousSpotFleetRequestState is a required field
+ PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
+
+ // The ID of the Spot Fleet request.
+ //
+ // SpotFleetRequestId is a required field
+ SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsSuccessItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
+ return s.String()
+}
+
+// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
+func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
+ s.CurrentSpotFleetRequestState = &v
+ return s
+}
+
+// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
+func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
+ s.PreviousSpotFleetRequestState = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// Contains the parameters for CancelSpotInstanceRequests.
+type CancelSpotInstanceRequestsInput 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 Spot Instance request IDs.
+ //
+ // SpotInstanceRequestIds is a required field
+ SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s CancelSpotInstanceRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotInstanceRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CancelSpotInstanceRequestsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
+ if s.SpotInstanceRequestIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
+func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
+ s.SpotInstanceRequestIds = v
+ return s
+}
+
+// Contains the output of CancelSpotInstanceRequests.
+type CancelSpotInstanceRequestsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more Spot Instance requests.
+ CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CancelSpotInstanceRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotInstanceRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
+func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
+ s.CancelledSpotInstanceRequests = v
+ return s
+}
+
+// Describes a request to cancel a Spot Instance.
+type CancelledSpotInstanceRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // The state of the Spot Instance request.
+ State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
+}
+
+// String returns the string representation
+func (s CancelledSpotInstanceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelledSpotInstanceRequest) GoString() string {
+ return s.String()
+}
+
+// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
+func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
+ s.SpotInstanceRequestId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
+ s.State = &v
+ return s
+}
+
+// Describes an IPv4 CIDR block.
+type CidrBlock struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR block.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+}
+
+// String returns the string representation
+func (s CidrBlock) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CidrBlock) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
+ s.CidrBlock = &v
+ return s
+}
+
+// Describes the ClassicLink DNS support status of a VPC.
+type ClassicLinkDnsSupport struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether ClassicLink DNS support is enabled for the VPC.
+ ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s ClassicLinkDnsSupport) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClassicLinkDnsSupport) GoString() string {
+ return s.String()
+}
+
+// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
+func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
+ s.ClassicLinkDnsSupported = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a linked EC2-Classic instance.
+type ClassicLinkInstance struct {
+ _ struct{} `type:"structure"`
+
+ // A list of security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // Any tags assigned to the instance.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s ClassicLinkInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClassicLinkInstance) GoString() string {
+ return s.String()
+}
+
+// SetGroups sets the Groups field's value.
+func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
+ s.Groups = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
+ s.InstanceId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a Classic Load Balancer.
+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"`
+}
+
+// String returns the string representation
+func (s ClassicLoadBalancer) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+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
+ return s
+}
+
+// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
+// registers the running Spot Instances with these Classic Load Balancers.
+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"`
+}
+
+// String returns the string representation
+func (s ClassicLoadBalancersConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClassicLoadBalancersConfig) GoString() string {
+ return s.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
+ }
+ return nil
+}
+
+// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
+func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
+ s.ClassicLoadBalancers = v
+ return s
+}
+
+// Describes the client-specific data.
+type ClientData struct {
+ _ struct{} `type:"structure"`
+
+ // A user-defined comment about the disk upload.
+ Comment *string `type:"string"`
+
+ // The time that the disk upload ends.
+ UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // The size of the uploaded disk image, in GiB.
+ UploadSize *float64 `type:"double"`
+
+ // The time that the disk upload starts.
+ UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s ClientData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClientData) GoString() string {
+ return s.String()
+}
+
+// SetComment sets the Comment field's value.
+func (s *ClientData) SetComment(v string) *ClientData {
+ s.Comment = &v
+ return s
+}
+
+// SetUploadEnd sets the UploadEnd field's value.
+func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
+ s.UploadEnd = &v
+ return s
+}
+
+// SetUploadSize sets the UploadSize field's value.
+func (s *ClientData) SetUploadSize(v float64) *ClientData {
+ s.UploadSize = &v
+ return s
+}
+
+// SetUploadStart sets the UploadStart field's value.
+func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
+ s.UploadStart = &v
+ return s
+}
+
+// Contains the parameters for ConfirmProductInstance.
+type ConfirmProductInstanceInput 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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+
+ // The product code. This must be a product code that you own.
+ //
+ // ProductCode is a required field
+ ProductCode *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ConfirmProductInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConfirmProductInstanceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ConfirmProductInstanceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.ProductCode == nil {
+ invalidParams.Add(request.NewErrParamRequired("ProductCode"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetProductCode sets the ProductCode field's value.
+func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
+ s.ProductCode = &v
+ return s
+}
+
+// Contains the output of ConfirmProductInstance.
+type ConfirmProductInstanceOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID of the instance owner. This is only present if the product
+ // code is attached to the instance.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The return value of the request. Returns true if the specified product code
+ // is owned by the requester and associated with the specified instance.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ConfirmProductInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConfirmProductInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
+ s.OwnerId = &v
+ return s
+}
+
+// SetReturn sets the Return field's value.
+func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
+ s.Return = &v
+ return s
+}
+
+// Describes a connection notification for a VPC endpoint or VPC endpoint service.
+type ConnectionNotification struct {
+ _ struct{} `type:"structure"`
+
+ // The events for the notification. Valid values are Accept, Connect, Delete,
+ // and Reject.
+ ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
+
+ // The ARN of the SNS topic for the notification.
+ ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
+
+ // The ID of the notification.
+ ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
+
+ // The state of the notification.
+ ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
+
+ // The type of notification.
+ ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
+
+ // The ID of the endpoint service.
+ ServiceId *string `locationName:"serviceId" type:"string"`
+
+ // The ID of the VPC endpoint.
+ VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
+}
+
+// String returns the string representation
+func (s ConnectionNotification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConnectionNotification) GoString() string {
+ return s.String()
+}
+
+// SetConnectionEvents sets the ConnectionEvents field's value.
+func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
+ s.ConnectionEvents = v
+ return s
+}
+
+// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
+func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
+ s.ConnectionNotificationArn = &v
+ return s
+}
+
+// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
+func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
+ s.ConnectionNotificationId = &v
+ return s
+}
+
+// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
+func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
+ s.ConnectionNotificationState = &v
+ return s
+}
+
+// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
+func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
+ s.ConnectionNotificationType = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
+ s.ServiceId = &v
+ return s
+}
+
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
+ s.VpcEndpointId = &v
+ return s
+}
+
+// Describes a conversion task.
+type ConversionTask struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the conversion task.
+ ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
+
+ // The time when the task expires. If the upload isn't complete before the expiration
+ // time, we automatically cancel the task.
+ ExpirationTime *string `locationName:"expirationTime" type:"string"`
+
+ // If the task is for importing an instance, this contains information about
+ // the import instance task.
+ ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
+
+ // If the task is for importing a volume, this contains information about the
+ // import volume task.
+ ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
+
+ // The state of the conversion task.
+ State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
+
+ // The status message related to the conversion task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Any tags assigned to the task.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ConversionTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConversionTask) GoString() string {
+ return s.String()
+}
+
+// SetConversionTaskId sets the ConversionTaskId field's value.
+func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
+ s.ConversionTaskId = &v
+ return s
+}
+
+// SetExpirationTime sets the ExpirationTime field's value.
+func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
+ s.ExpirationTime = &v
+ return s
+}
+
+// SetImportInstance sets the ImportInstance field's value.
+func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
+ s.ImportInstance = v
+ return s
+}
+
+// SetImportVolume sets the ImportVolume field's value.
+func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
+ s.ImportVolume = v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *ConversionTask) SetState(v string) *ConversionTask {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
+ s.Tags = v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // The description for the new AFI.
+ 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 name for the new AFI. The default is the name of the source AFI.
+ Name *string `type:"string"`
+
+ // The ID of the source AFI.
+ //
+ // SourceFpgaImageId is a required field
+ SourceFpgaImageId *string `type:"string" required:"true"`
+
+ // The region that contains the source AFI.
+ //
+ // SourceRegion is a required field
+ SourceRegion *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CopyFpgaImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyFpgaImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CopyFpgaImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
+ if s.SourceFpgaImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
+ }
+ if s.SourceRegion == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
+ s.Name = &v
+ return s
+}
+
+// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
+func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
+ s.SourceFpgaImageId = &v
+ return s
+}
+
+// SetSourceRegion sets the SourceRegion field's value.
+func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
+ s.SourceRegion = &v
+ return s
+}
+
+type CopyFpgaImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new AFI.
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+}
+
+// String returns the string representation
+func (s CopyFpgaImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyFpgaImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
+ s.FpgaImageId = &v
+ return s
+}
+
+// Contains the parameters for CopyImage.
+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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `type:"string"`
+
+ // A description for the new AMI in the destination region.
+ 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 `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether the destination snapshots of the copied image should be
+ // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
+ // Service (AWS KMS) CMK is specified with 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.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // An identifier for the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) to use when creating the encrypted volume. This parameter is only
+ // required if you want to use a non-default CMK; if this parameter is not specified,
+ // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
+ // flag must also be set.
+ //
+ // The CMK identifier may be provided in any of the following formats:
+ //
+ // * Key ID
+ //
+ // * Key alias, in the form alias/ExampleAlias
+ //
+ // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
+ // by the region of the CMK, the AWS account ID of the CMK owner, the key
+ // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ //
+ //
+ // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
+ // followed by the region of the CMK, the AWS account ID of the CMK owner,
+ // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
+ //
+ //
+ // AWS parses KmsKeyId asynchronously, meaning that the action you call may
+ // appear to complete even though you provided an invalid identifier. This action
+ // will eventually report failure.
+ //
+ // The specified CMK must exist in the region that the snapshot is being copied
+ // to.
+ KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+
+ // The name of the new AMI in the destination region.
+ //
+ // Name is a required field
+ Name *string `type:"string" required:"true"`
+
+ // The ID of the AMI to copy.
+ //
+ // SourceImageId is a required field
+ SourceImageId *string `type:"string" required:"true"`
+
+ // The name of the region that contains the AMI to copy.
+ //
+ // SourceRegion is a required field
+ SourceRegion *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CopyImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CopyImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
+ }
+ if s.SourceImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
+ }
+ if s.SourceRegion == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
+ s.Encrypted = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CopyImageInput) SetName(v string) *CopyImageInput {
+ s.Name = &v
+ return s
+}
+
+// SetSourceImageId sets the SourceImageId field's value.
+func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
+ s.SourceImageId = &v
+ return s
+}
+
+// SetSourceRegion sets the SourceRegion field's value.
+func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
+ s.SourceRegion = &v
+ return s
+}
+
+// Contains the output of CopyImage.
+type CopyImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+}
+
+// String returns the string representation
+func (s CopyImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
+ s.ImageId = &v
+ return s
+}
+
+// Contains the parameters for CopySnapshot.
+type CopySnapshotInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the EBS snapshot.
+ Description *string `type:"string"`
+
+ // 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.
+ //
+ // CopySnapshot sends the snapshot copy to the regional endpoint that you send
+ // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
+ // this is specified with the --region parameter or the default region in your
+ // AWS configuration file).
+ DestinationRegion *string `locationName:"destinationRegion" 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 `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether the destination snapshot should be encrypted. You can encrypt
+ // a copy of an unencrypted snapshot using this flag, but you cannot use it
+ // to create an unencrypted copy from an encrypted snapshot. Your default CMK
+ // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
+ // CMK is specified with 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.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // An identifier for the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) to use when creating the encrypted volume. This parameter is only
+ // required if you want to use a non-default CMK; if this parameter is not specified,
+ // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
+ // flag must also be set.
+ //
+ // The CMK identifier may be provided in any of the following formats:
+ //
+ // * Key ID
+ //
+ // * Key alias
+ //
+ // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
+ // by the region of the CMK, the AWS account ID of the CMK owner, the key
+ // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ //
+ //
+ // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
+ // followed by the region of the CMK, the AWS account ID of the CMK owner,
+ // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
+ //
+ //
+ // AWS parses KmsKeyId asynchronously, meaning that the action you call may
+ // appear to complete even though you provided an invalid identifier. The action
+ // will eventually fail.
+ KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+
+ // 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).
+ //
+ // 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)
+ // 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.
+ //
+ // SourceRegion is a required field
+ SourceRegion *string `type:"string" required:"true"`
+
+ // The ID of the EBS snapshot to copy.
+ //
+ // SourceSnapshotId is a required field
+ SourceSnapshotId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CopySnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopySnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CopySnapshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
+ if s.SourceRegion == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
+ }
+ if s.SourceSnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
+ s.Description = &v
+ return s
+}
+
+// SetDestinationRegion sets the DestinationRegion field's value.
+func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
+ s.DestinationRegion = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
+ s.Encrypted = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetPresignedUrl sets the PresignedUrl field's value.
+func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
+ s.PresignedUrl = &v
+ return s
+}
+
+// SetSourceRegion sets the SourceRegion field's value.
+func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
+ s.SourceRegion = &v
+ return s
+}
+
+// SetSourceSnapshotId sets the SourceSnapshotId field's value.
+func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
+ s.SourceSnapshotId = &v
+ return s
+}
+
+// Contains the output of CopySnapshot.
+type CopySnapshotOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new snapshot.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+}
+
+// String returns the string representation
+func (s CopySnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopySnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
+ s.SnapshotId = &v
+ return s
+}
+
+// The CPU options for the instance.
+type CpuOptions struct {
+ _ struct{} `type:"structure"`
+
+ // The number of CPU cores for the instance.
+ CoreCount *int64 `locationName:"coreCount" type:"integer"`
+
+ // The number of threads per CPU core.
+ ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
+}
+
+// String returns the string representation
+func (s CpuOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CpuOptions) GoString() string {
+ return s.String()
+}
+
+// SetCoreCount sets the CoreCount field's value.
+func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
+ s.CoreCount = &v
+ return s
+}
+
+// SetThreadsPerCore sets the ThreadsPerCore field's value.
+func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
+ s.ThreadsPerCore = &v
+ return s
+}
+
+// The CPU options for the instance. Both the core count and threads per core
+// must be specified in the request.
+type CpuOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The number of CPU cores for the instance.
+ CoreCount *int64 `type:"integer"`
+
+ // The number of threads per CPU core. To disable Intel Hyper-Threading Technology
+ // for the instance, specify a value of 1. Otherwise, specify the default value
+ // of 2.
+ ThreadsPerCore *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s CpuOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CpuOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetCoreCount sets the CoreCount field's value.
+func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
+ s.CoreCount = &v
+ return s
+}
+
+// SetThreadsPerCore sets the ThreadsPerCore field's value.
+func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
+ s.ThreadsPerCore = &v
+ return s
+}
+
+// Contains the parameters for CreateCustomerGateway.
+type CreateCustomerGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // For devices that support BGP, the customer gateway's BGP ASN.
+ //
+ // Default: 65000
+ //
+ // BgpAsn is a required field
+ BgpAsn *int64 `type:"integer" 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"`
+
+ // The Internet-routable IP address for the customer gateway's outside interface.
+ // The address must be static.
+ //
+ // PublicIp is a required field
+ PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
+
+ // The type of VPN connection that this customer gateway supports (ipsec.1).
+ //
+ // Type is a required field
+ Type *string `type:"string" required:"true" enum:"GatewayType"`
+}
+
+// String returns the string representation
+func (s CreateCustomerGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateCustomerGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateCustomerGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
+ if s.BgpAsn == nil {
+ invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
+ }
+ if s.PublicIp == nil {
+ invalidParams.Add(request.NewErrParamRequired("PublicIp"))
+ }
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBgpAsn sets the BgpAsn field's value.
+func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
+ s.BgpAsn = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
+ s.PublicIp = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
+ s.Type = &v
+ return s
+}
+
+// Contains the output of CreateCustomerGateway.
+type CreateCustomerGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the customer gateway.
+ CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateCustomerGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateCustomerGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetCustomerGateway sets the CustomerGateway field's value.
+func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
+ s.CustomerGateway = v
+ return s
+}
+
+type CreateDefaultSubnetInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which to create the default subnet.
+ //
+ // AvailabilityZone is a required field
+ AvailabilityZone *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 CreateDefaultSubnetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultSubnetInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateDefaultSubnetInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
+ if s.AvailabilityZone == nil {
+ invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
+ s.DryRun = &v
+ return s
+}
+
+type CreateDefaultSubnetOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the subnet.
+ Subnet *Subnet `locationName:"subnet" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDefaultSubnetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultSubnetOutput) GoString() string {
+ return s.String()
+}
+
+// SetSubnet sets the Subnet field's value.
+func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
+ s.Subnet = v
+ return s
+}
+
+// Contains the parameters for CreateDefaultVpc.
+type CreateDefaultVpcInput 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"`
+}
+
+// String returns the string representation
+func (s CreateDefaultVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultVpcInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of CreateDefaultVpc.
+type CreateDefaultVpcOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC.
+ Vpc *Vpc `locationName:"vpc" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDefaultVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpc sets the Vpc field's value.
+func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
+ s.Vpc = v
+ return s
+}
+
+// Contains the parameters for CreateDhcpOptions.
+type CreateDhcpOptionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // A DHCP configuration option.
+ //
+ // DhcpConfigurations is a required field
+ DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" 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"`
+}
+
+// String returns the string representation
+func (s CreateDhcpOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDhcpOptionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateDhcpOptionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
+ if s.DhcpConfigurations == nil {
+ invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDhcpConfigurations sets the DhcpConfigurations field's value.
+func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
+ s.DhcpConfigurations = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of CreateDhcpOptions.
+type CreateDhcpOptionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A set of DHCP options.
+ DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDhcpOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDhcpOptionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetDhcpOptions sets the DhcpOptions field's value.
+func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
+ s.DhcpOptions = v
+ return s
+}
+
+type CreateEgressOnlyInternetGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the VPC for which to create the egress-only Internet gateway.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateEgressOnlyInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
+ s.VpcId = &v
+ return s
+}
+
+type CreateEgressOnlyInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the egress-only Internet gateway.
+ EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateEgressOnlyInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
+func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
+ s.EgressOnlyInternetGateway = v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // Indicates whether running instances should be terminated if the total target
+ // capacity of the EC2 Fleet is decreased below the current size of the EC2
+ // Fleet.
+ ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
+
+ // The configuration for the EC2 Fleet.
+ //
+ // LaunchTemplateConfigs is a required field
+ LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
+
+ // Indicates whether EC2 Fleet should replace unhealthy instances.
+ ReplaceUnhealthyInstances *bool `type:"boolean"`
+
+ // Includes SpotAllocationStrategy and SpotInstanceInterruptionBehavior inside
+ // this structure.
+ SpotOptions *SpotOptionsRequest `type:"structure"`
+
+ // 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).
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
+ // The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and
+ // DefaultCapacityType structure.
+ //
+ // TargetCapacitySpecification is a required field
+ TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
+
+ // Indicates whether running instances should be terminated when the EC2 Fleet
+ // expires.
+ TerminateInstancesWithExpiration *bool `type:"boolean"`
+
+ // The type of request. Indicates whether the EC2 Fleet only requests the target
+ // capacity, or also attempts to maintain it. If you request a certain target
+ // capacity, EC2 Fleet only places the required requests. It does not attempt
+ // to replenish instances if capacity is diminished, and does not submit requests
+ // in alternative capacity pools if capacity is unavailable. To maintain a certain
+ // target capacity, EC2 Fleet places the required requests to meet this target
+ // capacity. It also automatically replenishes any interrupted Spot Instances.
+ // Default: maintain.
+ Type *string `type:"string" enum:"FleetType"`
+
+ // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // The default is to start fulfilling the request immediately.
+ ValidFrom *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // 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.
+ ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// 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.LaunchTemplateConfigs == nil {
+ invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
+ }
+ if s.TargetCapacitySpecification == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
+ }
+ if s.LaunchTemplateConfigs != nil {
+ for i, v := range s.LaunchTemplateConfigs {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.TargetCapacitySpecification != nil {
+ if err := s.TargetCapacitySpecification.Validate(); err != nil {
+ invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
+func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
+ s.ExcessCapacityTerminationPolicy = &v
+ return s
+}
+
+// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
+func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
+ s.LaunchTemplateConfigs = v
+ return s
+}
+
+// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
+func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
+ s.ReplaceUnhealthyInstances = &v
+ return s
+}
+
+// SetSpotOptions sets the SpotOptions field's value.
+func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
+ s.SpotOptions = v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
+func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
+ s.TargetCapacitySpecification = v
+ return s
+}
+
+// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
+func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
+ s.TerminateInstancesWithExpiration = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
+ s.Type = &v
+ return s
+}
+
+// SetValidFrom sets the ValidFrom field's value.
+func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
+ s.ValidFrom = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
+ s.ValidUntil = &v
+ return s
+}
+
+type CreateFleetOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the EC2 Fleet.
+ FleetId *string `locationName:"fleetId" 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()
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
+ s.FleetId = &v
+ return s
+}
+
+// Contains the parameters for CreateFlowLogs.
+type CreateFlowLogsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
+ ClientToken *string `type:"string"`
+
+ // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
+ // log group.
+ //
+ // DeliverLogsPermissionArn is a required field
+ DeliverLogsPermissionArn *string `type:"string" required:"true"`
+
+ // The name of the CloudWatch log group.
+ //
+ // LogGroupName is a required field
+ LogGroupName *string `type:"string" required:"true"`
+
+ // One or more subnet, network interface, or VPC IDs.
+ //
+ // Constraints: Maximum of 1000 resources
+ //
+ // ResourceIds is a required field
+ ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
+
+ // The type of resource on which to create the flow log.
+ //
+ // ResourceType is a required field
+ ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
+
+ // The type of traffic to log.
+ //
+ // TrafficType is a required field
+ TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
+}
+
+// String returns the string representation
+func (s CreateFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateFlowLogsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
+ if s.DeliverLogsPermissionArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
+ }
+ if s.LogGroupName == nil {
+ invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
+ }
+ if s.ResourceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
+ }
+ if s.ResourceType == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourceType"))
+ }
+ if s.TrafficType == nil {
+ invalidParams.Add(request.NewErrParamRequired("TrafficType"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
+func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
+ s.DeliverLogsPermissionArn = &v
+ return s
+}
+
+// SetLogGroupName sets the LogGroupName field's value.
+func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
+ s.LogGroupName = &v
+ return s
+}
+
+// SetResourceIds sets the ResourceIds field's value.
+func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
+ s.ResourceIds = v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTrafficType sets the TrafficType field's value.
+func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
+ s.TrafficType = &v
+ return s
+}
+
+// Contains the output of CreateFlowLogs.
+type CreateFlowLogsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The IDs of the flow logs.
+ FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
+
+ // Information about the flow logs that could not be created successfully.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CreateFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetFlowLogIds sets the FlowLogIds field's value.
+func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
+ s.FlowLogIds = v
+ return s
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // A description for the AFI.
+ 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 location of the encrypted design checkpoint in Amazon S3. The input must
+ // be a tarball.
+ //
+ // InputStorageLocation is a required field
+ InputStorageLocation *StorageLocation `type:"structure" required:"true"`
+
+ // The location in Amazon S3 for the output logs.
+ LogsStorageLocation *StorageLocation `type:"structure"`
+
+ // A name for the AFI.
+ Name *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateFpgaImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFpgaImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateFpgaImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
+ if s.InputStorageLocation == nil {
+ invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInputStorageLocation sets the InputStorageLocation field's value.
+func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
+ s.InputStorageLocation = v
+ return s
+}
+
+// SetLogsStorageLocation sets the LogsStorageLocation field's value.
+func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
+ s.LogsStorageLocation = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
+ s.Name = &v
+ return s
+}
+
+type CreateFpgaImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The global FPGA image identifier (AGFI ID).
+ FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
+
+ // The FPGA image identifier (AFI ID).
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateFpgaImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFpgaImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
+func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
+ s.FpgaImageGlobalId = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
+ s.FpgaImageId = &v
+ return s
+}
+
+// Contains the parameters for CreateImage.
+type CreateImageInput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more block device mappings.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // A description for the new image.
+ Description *string `locationName:"description" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // A name for the new image.
+ //
+ // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
+ // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
+ // at-signs (@), or underscores(_)
+ //
+ // Name is a required field
+ Name *string `locationName:"name" type:"string" required:"true"`
+
+ // By default, Amazon EC2 attempts to shut down and reboot the instance before
+ // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
+ // shut down the instance before creating the image. When this option is used,
+ // file system integrity on the created image can't be guaranteed.
+ NoReboot *bool `locationName:"noReboot" type:"boolean"`
+}
+
+// String returns the string representation
+func (s CreateImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateImageInput) SetName(v string) *CreateImageInput {
+ s.Name = &v
+ return s
+}
+
+// SetNoReboot sets the NoReboot field's value.
+func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
+ s.NoReboot = &v
+ return s
+}
+
+// Contains the output of CreateImage.
+type CreateImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
+ s.ImageId = &v
+ return s
+}
+
+// Contains the parameters for CreateInstanceExportTask.
+type CreateInstanceExportTaskInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the conversion task or the resource being exported. The
+ // maximum length is 255 bytes.
+ Description *string `locationName:"description" type:"string"`
+
+ // The format and location for an instance export task.
+ ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The target virtualization environment.
+ TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
+}
+
+// String returns the string representation
+func (s CreateInstanceExportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInstanceExportTaskInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateInstanceExportTaskInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
+ s.Description = &v
+ return s
+}
+
+// SetExportToS3Task sets the ExportToS3Task field's value.
+func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
+ s.ExportToS3Task = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetTargetEnvironment sets the TargetEnvironment field's value.
+func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
+ s.TargetEnvironment = &v
+ return s
+}
+
+// Contains the output for CreateInstanceExportTask.
+type CreateInstanceExportTaskOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the instance export task.
+ ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInstanceExportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInstanceExportTaskOutput) GoString() string {
+ return s.String()
+}
+
+// SetExportTask sets the ExportTask field's value.
+func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
+ s.ExportTask = v
+ return s
+}
+
+// Contains the parameters for CreateInternetGateway.
+type CreateInternetGatewayInput 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"`
+}
+
+// String returns the string representation
+func (s CreateInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of CreateInternetGateway.
+type CreateInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Internet gateway.
+ InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetInternetGateway sets the InternetGateway field's value.
+func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
+ s.InternetGateway = v
+ return s
+}
+
+// Contains the parameters for CreateKeyPair.
+type CreateKeyPairInput 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"`
+
+ // A unique name for the key pair.
+ //
+ // Constraints: Up to 255 ASCII characters
+ //
+ // KeyName is a required field
+ KeyName *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateKeyPairInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateKeyPairInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
+ if s.KeyName == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
+ s.KeyName = &v
+ return s
+}
+
+// Describes a key pair.
+type CreateKeyPairOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The SHA-1 digest of the DER encoded private key.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // An unencrypted PEM encoded RSA private key.
+ KeyMaterial *string `locationName:"keyMaterial" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyFingerprint sets the KeyFingerprint field's value.
+func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
+ s.KeyFingerprint = &v
+ return s
+}
+
+// SetKeyMaterial sets the KeyMaterial field's value.
+func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
+ s.KeyMaterial = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
+ s.KeyName = &v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The information for the launch template.
+ //
+ // LaunchTemplateData is a required field
+ LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
+
+ // A name for the launch template.
+ //
+ // LaunchTemplateName is a required field
+ LaunchTemplateName *string `min:"3" type:"string" required:"true"`
+
+ // A description for the first version of the launch template.
+ VersionDescription *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateLaunchTemplateInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLaunchTemplateInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateLaunchTemplateInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
+ if s.LaunchTemplateData == nil {
+ invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
+ }
+ if s.LaunchTemplateName == nil {
+ invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
+ }
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+ if s.LaunchTemplateData != nil {
+ if err := s.LaunchTemplateData.Validate(); err != nil {
+ invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchTemplateData sets the LaunchTemplateData field's value.
+func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
+ s.LaunchTemplateData = v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersionDescription sets the VersionDescription field's value.
+func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
+ s.VersionDescription = &v
+ return s
+}
+
+type CreateLaunchTemplateOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template.
+ LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateLaunchTemplateOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLaunchTemplateOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplate sets the LaunchTemplate field's value.
+func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
+ s.LaunchTemplate = v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The information for the launch template.
+ //
+ // LaunchTemplateData is a required field
+ LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
+
+ // The ID of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateName *string `min:"3" type:"string"`
+
+ // The version number of the launch template version on which to base the new
+ // version. The new version inherits the same launch parameters as the source
+ // version, except for parameters that you specify in LaunchTemplateData.
+ SourceVersion *string `type:"string"`
+
+ // A description for the version of the launch template.
+ VersionDescription *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateLaunchTemplateVersionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLaunchTemplateVersionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateLaunchTemplateVersionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
+ if s.LaunchTemplateData == nil {
+ invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
+ }
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+ if s.LaunchTemplateData != nil {
+ if err := s.LaunchTemplateData.Validate(); err != nil {
+ invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchTemplateData sets the LaunchTemplateData field's value.
+func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
+ s.LaunchTemplateData = v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetSourceVersion sets the SourceVersion field's value.
+func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
+ s.SourceVersion = &v
+ return s
+}
+
+// SetVersionDescription sets the VersionDescription field's value.
+func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
+ s.VersionDescription = &v
+ return s
+}
+
+type CreateLaunchTemplateVersionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template version.
+ LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateLaunchTemplateVersionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLaunchTemplateVersionOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
+func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
+ s.LaunchTemplateVersion = v
+ return s
+}
+
+// Contains the parameters for CreateNatGateway.
+type CreateNatGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // The allocation ID of an Elastic IP address to associate with the NAT gateway.
+ // If the Elastic IP address is associated with another resource, you must first
+ // disassociate it.
+ //
+ // AllocationId is a required field
+ AllocationId *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 (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ //
+ // Constraint: Maximum 64 ASCII characters.
+ ClientToken *string `type:"string"`
+
+ // The subnet in which to create the NAT gateway.
+ //
+ // SubnetId is a required field
+ SubnetId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateNatGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNatGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNatGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
+ if s.AllocationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AllocationId"))
+ }
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
+ s.AllocationId = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
+ s.SubnetId = &v
+ return s
+}
+
+// Contains the output of CreateNatGateway.
+type CreateNatGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier to ensure the idempotency of the request.
+ // Only returned if a client token was provided in the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the NAT gateway.
+ NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNatGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNatGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetNatGateway sets the NatGateway field's value.
+func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
+ s.NatGateway = v
+ return s
+}
+
+// Contains the parameters for CreateNetworkAclEntry.
+type CreateNetworkAclEntryInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether this is an egress rule (rule is applied to traffic leaving
+ // the subnet).
+ //
+ // Egress is a required field
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
+ // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
+ IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
+
+ // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+
+ // The ID of the network ACL.
+ //
+ // NetworkAclId is a required field
+ NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The protocol. A value of -1 or all means all protocols. If you specify all,
+ // -1, or a protocol number other than 6 (tcp), 17 (udp), or 1 (icmp), traffic
+ // on all ports is allowed, regardless of any ports or ICMP types or codes you
+ // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
+ // traffic for all ICMP types and codes allowed, regardless of any that you
+ // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
+ // you must specify an ICMP type and code.
+ //
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ //
+ // RuleAction is a required field
+ RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
+
+ // The rule number for the entry (for example, 100). ACL entries are processed
+ // in ascending order by rule number.
+ //
+ // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
+ // reserved for internal use.
+ //
+ // RuleNumber is a required field
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateNetworkAclEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkAclEntryInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNetworkAclEntryInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
+ if s.Egress == nil {
+ invalidParams.Add(request.NewErrParamRequired("Egress"))
+ }
+ if s.NetworkAclId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
+ }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
+ }
+ if s.RuleAction == nil {
+ invalidParams.Add(request.NewErrParamRequired("RuleAction"))
+ }
+ if s.RuleNumber == nil {
+ invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgress sets the Egress field's value.
+func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
+ s.Egress = &v
+ return s
+}
+
+// SetIcmpTypeCode sets the IcmpTypeCode field's value.
+func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
+ s.IcmpTypeCode = v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
+ s.NetworkAclId = &v
+ return s
+}
+
+// SetPortRange sets the PortRange field's value.
+func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
+ s.PortRange = v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
+ s.Protocol = &v
+ return s
+}
+
+// SetRuleAction sets the RuleAction field's value.
+func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
+ s.RuleAction = &v
+ return s
+}
+
+// SetRuleNumber sets the RuleNumber field's value.
+func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
+ s.RuleNumber = &v
+ return s
+}
+
+type CreateNetworkAclEntryOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkAclEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkAclEntryOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CreateNetworkAcl.
+type CreateNetworkAclInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateNetworkAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNetworkAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateNetworkAcl.
+type CreateNetworkAclOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the network ACL.
+ NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkAclOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkAcl sets the NetworkAcl field's value.
+func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
+ s.NetworkAcl = v
+ return s
+}
+
+// Contains the parameters for CreateNetworkInterface.
+type CreateNetworkInterfaceInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the network interface.
+ Description *string `locationName:"description" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The IDs of one or more security groups.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The number of IPv6 addresses to assign to a network interface. Amazon EC2
+ // automatically selects the IPv6 addresses from the subnet range. You can't
+ // use this option if specifying specific IPv6 addresses. If your subnet has
+ // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
+ // to override this setting.
+ Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
+
+ // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
+ // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
+ Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
+
+ // The primary private IPv4 address of the network interface. If you don't specify
+ // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
+ // range. If you specify an IP address, you cannot indicate any IP addresses
+ // specified in privateIpAddresses as primary (only one IP address can be designated
+ // as primary).
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IPv4 addresses.
+ PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
+
+ // The number of secondary private IPv4 addresses to assign to a network interface.
+ // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
+ // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
+ // this option and specify more than one private IP address using privateIpAddresses.
+ //
+ // The number of IP addresses you can assign to a network interface varies by
+ // instance type. For more information, see IP Addresses Per ENI Per Instance
+ // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
+ // in the Amazon Virtual Private Cloud User Guide.
+ SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ // The ID of the subnet to associate with the network interface.
+ //
+ // SubnetId is a required field
+ SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNetworkInterfaceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+ if s.PrivateIpAddresses != nil {
+ for i, v := range s.PrivateIpAddresses {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
+ s.SubnetId = &v
+ return s
+}
+
+// Contains the output of CreateNetworkInterface.
+type CreateNetworkInterfaceOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the network interface.
+ NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkInterface sets the NetworkInterface field's value.
+func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
+ s.NetworkInterface = v
+ return s
+}
+
+// Contains the parameters for CreateNetworkInterfacePermission.
+type CreateNetworkInterfacePermissionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID.
+ AwsAccountId *string `type:"string"`
+
+ // The AWS service. Currently not supported.
+ AwsService *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `type:"string" required:"true"`
+
+ // The type of permission to grant.
+ //
+ // Permission is a required field
+ Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfacePermissionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfacePermissionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNetworkInterfacePermissionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+ if s.Permission == nil {
+ invalidParams.Add(request.NewErrParamRequired("Permission"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAwsAccountId sets the AwsAccountId field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
+ s.AwsAccountId = &v
+ return s
+}
+
+// SetAwsService sets the AwsService field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
+ s.AwsService = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
+ s.Permission = &v
+ return s
+}
+
+// Contains the output of CreateNetworkInterfacePermission.
+type CreateNetworkInterfacePermissionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the permission for the network interface.
+ InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfacePermissionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfacePermissionOutput) GoString() string {
+ return s.String()
+}
+
+// SetInterfacePermission sets the InterfacePermission field's value.
+func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
+ s.InterfacePermission = v
+ return s
+}
+
+// Contains the parameters for CreatePlacementGroup.
+type CreatePlacementGroupInput 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"`
+
+ // A name for the placement group. Must be unique within the scope of your account
+ // for the region.
+ //
+ // Constraints: Up to 255 ASCII characters
+ //
+ // GroupName is a required field
+ GroupName *string `locationName:"groupName" type:"string" required:"true"`
+
+ // The placement strategy.
+ //
+ // Strategy is a required field
+ Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
+}
+
+// String returns the string representation
+func (s CreatePlacementGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+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
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetStrategy sets the Strategy field's value.
+func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
+ s.Strategy = &v
+ return s
+}
+
+type CreatePlacementGroupOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreatePlacementGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreatePlacementGroupOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CreateReservedInstancesListing.
+type CreateReservedInstancesListingInput struct {
+ _ struct{} `type:"structure"`
+
+ // 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).
+ //
+ // ClientToken is a required field
+ ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
+
+ // The number of instances that are a part of a Reserved Instance account to
+ // be listed in the Reserved Instance Marketplace. This number should be less
+ // than or equal to the instance count associated with the Reserved Instance
+ // ID specified in this call.
+ //
+ // InstanceCount is a required field
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
+
+ // A list specifying the price of the Standard Reserved Instance for each month
+ // remaining in the Reserved Instance term.
+ //
+ // PriceSchedules is a required field
+ PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
+
+ // The ID of the active Standard Reserved Instance.
+ //
+ // ReservedInstancesId is a required field
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateReservedInstancesListingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateReservedInstancesListingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateReservedInstancesListingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
+ if s.ClientToken == nil {
+ invalidParams.Add(request.NewErrParamRequired("ClientToken"))
+ }
+ if s.InstanceCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
+ }
+ if s.PriceSchedules == nil {
+ invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
+ }
+ if s.ReservedInstancesId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetPriceSchedules sets the PriceSchedules field's value.
+func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
+ s.PriceSchedules = v
+ return s
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// Contains the output of CreateReservedInstancesListing.
+type CreateReservedInstancesListingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Standard Reserved Instance listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CreateReservedInstancesListingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateReservedInstancesListingOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
+func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
+ s.ReservedInstancesListings = v
+ return s
+}
+
+// Contains the parameters for CreateRoute.
+type CreateRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR address block used for the destination match. Routing decisions
+ // are based on the most specific match.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The IPv6 CIDR block used for the destination match. Routing decisions are
+ // based on the most specific match.
+ DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // [IPv6 traffic only] The ID of an egress-only Internet gateway.
+ EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
+
+ // The ID of an Internet gateway or virtual private gateway attached to your
+ // VPC.
+ GatewayId *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC. The operation fails if you specify
+ // an instance ID unless exactly one network interface is attached.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // [IPv4 traffic only] The ID of a NAT gateway.
+ NatGatewayId *string `locationName:"natGatewayId" type:"string"`
+
+ // The ID of a network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the route table for the route.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of a VPC peering connection.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" 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.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
+func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
+ s.DestinationIpv6CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
+func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
+ s.EgressOnlyInternetGatewayId = &v
+ return s
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
+ s.GatewayId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
+ s.NatGatewayId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
+ s.RouteTableId = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Contains the output of CreateRoute.
+type CreateRouteOutput 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 CreateRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for CreateRouteTable.
+type CreateRouteTableInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateRouteTableInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateRouteTable.
+type CreateRouteTableOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the route table.
+ RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+// SetRouteTable sets the RouteTable field's value.
+func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
+ s.RouteTable = v
+ return s
+}
+
+// Contains the parameters for CreateSecurityGroup.
+type CreateSecurityGroupInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the security group. This is informational only.
+ //
+ // Constraints: Up to 255 characters in length
+ //
+ // Constraints for EC2-Classic: ASCII characters
+ //
+ // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
+ //
+ // Description is a required field
+ Description *string `locationName:"GroupDescription" 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"`
+
+ // The name of the security group.
+ //
+ // Constraints: Up to 255 characters in length. Cannot start with sg-.
+ //
+ // Constraints for EC2-Classic: ASCII characters
+ //
+ // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
+ //
+ // GroupName is a required field
+ GroupName *string `type:"string" required:"true"`
+
+ // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
+ VpcId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateSecurityGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSecurityGroupInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateSecurityGroupInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
+ if s.Description == nil {
+ invalidParams.Add(request.NewErrParamRequired("Description"))
+ }
+ if s.GroupName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GroupName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateSecurityGroup.
+type CreateSecurityGroupOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the security group.
+ GroupId *string `locationName:"groupId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateSecurityGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSecurityGroupOutput) GoString() string {
+ return s.String()
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
+ s.GroupId = &v
+ return s
+}
+
+// Contains the parameters for CreateSnapshot.
+type CreateSnapshotInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the snapshot.
+ 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 `locationName:"dryRun" type:"boolean"`
+
+ // The tags to apply to the snapshot during creation.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
+ // The ID of the EBS volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateSnapshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
+ s.VolumeId = &v
+ return s
+}
+
+// Contains the parameters for CreateSpotDatafeedSubscription.
+type CreateSpotDatafeedSubscriptionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon S3 bucket in which to store the Spot Instance data feed.
+ //
+ // Bucket is a required field
+ Bucket *string `locationName:"bucket" 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"`
+
+ // A prefix for the data feed file names.
+ Prefix *string `locationName:"prefix" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
+ s.Bucket = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
+ s.Prefix = &v
+ return s
+}
+
+// Contains the output of CreateSpotDatafeedSubscription.
+type CreateSpotDatafeedSubscriptionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Spot Instance data feed subscription.
+ SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
+func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
+ s.SpotDatafeedSubscription = v
+ return s
+}
+
+// Contains the parameters for CreateSubnet.
+type CreateSubnetInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone for the subnet.
+ //
+ // Default: AWS selects one for you. If you create more than one subnet in your
+ // VPC, we may not necessarily select a different zone for each subnet.
+ AvailabilityZone *string `type:"string"`
+
+ // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
+ //
+ // CidrBlock is a required field
+ CidrBlock *string `type:"string" required:"true"`
+
+ // 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"`
+
+ // The IPv6 network range for the subnet, in CIDR notation. The subnet size
+ // must use a /64 prefix length.
+ Ipv6CidrBlock *string `type:"string"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateSubnetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSubnetInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateSubnetInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
+ if s.CidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateSubnet.
+type CreateSubnetOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the subnet.
+ Subnet *Subnet `locationName:"subnet" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSubnetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSubnetOutput) GoString() string {
+ return s.String()
+}
+
+// SetSubnet sets the Subnet field's value.
+func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
+ s.Subnet = v
+ return s
+}
+
+// Contains the parameters for CreateTags.
+type CreateTagsInput 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"`
+
+ // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
+ //
+ // Resources is a required field
+ Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
+
+ // One or more tags. The value parameter is required, but if you don't want
+ // the tag to have a value, specify the parameter with no value, and we set
+ // the value to an empty string.
+ //
+ // Tags is a required field
+ Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
+}
+
+// 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.Resources == nil {
+ invalidParams.Add(request.NewErrParamRequired("Resources"))
+ }
+ if s.Tags == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tags"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetResources sets the Resources field's value.
+func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
+ s.Resources = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *CreateTagsInput) SetTags(v []*Tag) *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()
+}
+
+// Contains the parameters for CreateVolume.
+type CreateVolumeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
+ // to list the Availability Zones that are currently available to you.
+ //
+ // AvailabilityZone is a required field
+ AvailabilityZone *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"`
+
+ // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
+ // may only be attached to instances that support Amazon EBS encryption. Volumes
+ // 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)
+ // 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 32000 IOPS for volumes
+ // in most regions. For exceptions, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
+ //
+ // This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
+ Iops *int64 `type:"integer"`
+
+ // An identifier for the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) to use when creating the encrypted volume. This parameter is only
+ // required if you want to use a non-default CMK; if this parameter is not specified,
+ // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
+ // flag must also be set.
+ //
+ // The CMK identifier may be provided in any of the following formats:
+ //
+ // * Key ID
+ //
+ // * Key alias
+ //
+ // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
+ // by the region of the CMK, the AWS account ID of the CMK owner, the key
+ // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ //
+ //
+ // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
+ // followed by the region of the CMK, the AWS account ID of the CMK owner,
+ // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
+ //
+ //
+ // AWS parses KmsKeyId asynchronously, meaning that the action you call may
+ // appear to complete even though you provided an invalid identifier. The action
+ // will eventually fail.
+ KmsKeyId *string `type:"string"`
+
+ // The size of the volume, in GiBs.
+ //
+ // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
+ // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
+ // must be equal to or larger than the snapshot size.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ Size *int64 `type:"integer"`
+
+ // The snapshot from which to create the volume.
+ SnapshotId *string `type:"string"`
+
+ // The tags to apply to the volume during creation.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
+ // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
+ // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
+ // for Magnetic volumes.
+ //
+ // 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.
+ VolumeType *string `type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s CreateVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVolumeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
+ if s.AvailabilityZone == nil {
+ invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
+ s.Iops = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
+ s.Size = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
+ s.VolumeType = &v
+ return s
+}
+
+// Describes the user or group to be added or removed from the 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.
+ 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.
+ UserId *string `locationName:"userId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateVolumePermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumePermission) GoString() string {
+ return s.String()
+}
+
+// SetGroup sets the Group field's value.
+func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
+ s.Group = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
+ s.UserId = &v
+ return s
+}
+
+// Describes modifications to the 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.
+ Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
+
+ // Removes a specific AWS account ID or group from a volume's list of create
+ // volume permissions.
+ Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CreateVolumePermissionModifications) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumePermissionModifications) GoString() string {
+ return s.String()
+}
+
+// SetAdd sets the Add field's value.
+func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
+ s.Add = v
+ return s
+}
+
+// SetRemove sets the Remove field's value.
+func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
+ s.Remove = v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // One or more endpoint events for which to receive notifications. Valid values
+ // are Accept, Connect, Delete, and Reject.
+ //
+ // ConnectionEvents is a required field
+ ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
+
+ // The ARN of the SNS topic for the notifications.
+ //
+ // ConnectionNotificationArn is a required field
+ ConnectionNotificationArn *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 endpoint service.
+ ServiceId *string `type:"string"`
+
+ // The ID of the endpoint.
+ VpcEndpointId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointConnectionNotificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
+ if s.ConnectionEvents == nil {
+ invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
+ }
+ if s.ConnectionNotificationArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetConnectionEvents sets the ConnectionEvents field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
+ s.ConnectionEvents = v
+ return s
+}
+
+// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
+ s.ConnectionNotificationArn = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
+ s.ServiceId = &v
+ return s
+}
+
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
+ s.VpcEndpointId = &v
+ return s
+}
+
+type CreateVpcEndpointConnectionNotificationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the notification.
+ ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetConnectionNotification sets the ConnectionNotification field's value.
+func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
+ s.ConnectionNotification = v
+ return s
+}
+
+// Contains the parameters for CreateVpcEndpoint.
+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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // (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.
+ PolicyDocument *string `type:"string"`
+
+ // (Interface endpoint) Indicate whether to associate a private hosted zone
+ // with the specified VPC. The private hosted zone contains a record set for
+ // the default public DNS name for the service for the region (for example,
+ // kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
+ // of the endpoint network interfaces in the VPC. This enables you to make requests
+ // to the default public DNS name for the service instead of the public DNS
+ // names that are automatically generated by the VPC endpoint service.
+ //
+ // To use a private hosted zone, you must set the following VPC attributes to
+ // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
+ // set the VPC attributes.
+ //
+ // Default: true
+ PrivateDnsEnabled *bool `type:"boolean"`
+
+ // (Gateway endpoint) One or more route table IDs.
+ RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) The ID of one or more security groups to associate with
+ // the endpoint network interface.
+ SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+
+ // The service name. To get a list of available services, use the DescribeVpcEndpointServices
+ // request, or get the name from the service provider.
+ //
+ // ServiceName is a required field
+ ServiceName *string `type:"string" required:"true"`
+
+ // (Interface endpoint) The ID of one or more subnets in which to create an
+ // endpoint network interface.
+ SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
+
+ // The type of endpoint.
+ //
+ // Default: Gateway
+ VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
+
+ // The ID of the VPC in which the endpoint will be used.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpcEndpointInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
+ if s.ServiceName == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceName"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPolicyDocument sets the PolicyDocument field's value.
+func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
+ s.PolicyDocument = &v
+ return s
+}
+
+// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
+func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
+ s.PrivateDnsEnabled = &v
+ return s
+}
+
+// SetRouteTableIds sets the RouteTableIds field's value.
+func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
+ s.RouteTableIds = v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetServiceName sets the ServiceName field's value.
+func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
+ s.ServiceName = &v
+ return s
+}
+
+// SetSubnetIds sets the SubnetIds field's value.
+func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
+ s.SubnetIds = v
+ return s
+}
+
+// SetVpcEndpointType sets the VpcEndpointType field's value.
+func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
+ s.VpcEndpointType = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateVpcEndpoint.
+type CreateVpcEndpointOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the endpoint.
+ VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetVpcEndpoint sets the VpcEndpoint field's value.
+func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
+ s.VpcEndpoint = v
+ return s
+}
+
+type CreateVpcEndpointServiceConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicate whether requests from service consumers to create an endpoint to
+ // your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
+ 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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
+ // your service.
+ //
+ // NetworkLoadBalancerArns is a required field
+ NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointServiceConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
+ if s.NetworkLoadBalancerArns == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAcceptanceRequired sets the AcceptanceRequired field's value.
+func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
+ s.AcceptanceRequired = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
+func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
+ s.NetworkLoadBalancerArns = v
+ return s
+}
+
+type CreateVpcEndpointServiceConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the service configuration.
+ ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetServiceConfiguration sets the ServiceConfiguration field's value.
+func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
+ s.ServiceConfiguration = v
+ return s
+}
+
+// Contains the parameters for CreateVpc.
+type CreateVpcInput struct {
+ _ struct{} `type:"structure"`
+
+ // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
+ // the VPC. You cannot specify the range of IP addresses, or the size of the
+ // CIDR block.
+ AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
+
+ // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
+ //
+ // CidrBlock is a required field
+ CidrBlock *string `type:"string" required:"true"`
+
+ // 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"`
+
+ // The tenancy options for instances launched into the VPC. For default, instances
+ // are launched with shared tenancy by default. You can launch instances with
+ // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
+ // as dedicated tenancy instances by default. You can only launch instances
+ // with a tenancy of dedicated or host into a dedicated tenancy VPC.
+ //
+ // Important: The host value cannot be used with this parameter. Use the default
+ // or dedicated values only.
+ //
+ // Default: default
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+}
+
+// String returns the string representation
+func (s CreateVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpcInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
+ if s.CidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
+func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
+ s.AmazonProvidedIpv6CidrBlock = &v
+ return s
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// Contains the output of CreateVpc.
+type CreateVpcOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC.
+ Vpc *Vpc `locationName:"vpc" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpc sets the Vpc field's value.
+func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
+ s.Vpc = v
+ return s
+}
+
+// Contains the parameters for CreateVpcPeeringConnection.
+type CreateVpcPeeringConnectionInput 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"`
+
+ // The AWS account ID of the owner of the accepter VPC.
+ //
+ // Default: Your AWS account ID
+ PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
+
+ // The region code for the accepter VPC, if the accepter VPC is located in a
+ // region other than the region in which you make the request.
+ //
+ // Default: The region in which you make the request.
+ PeerRegion *string `type:"string"`
+
+ // The ID of the VPC with which you are creating the VPC peering connection.
+ // You must specify this parameter in the request.
+ PeerVpcId *string `locationName:"peerVpcId" type:"string"`
+
+ // The ID of the requester VPC. You must specify this parameter in the request.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateVpcPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPeerOwnerId sets the PeerOwnerId field's value.
+func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
+ s.PeerOwnerId = &v
+ return s
+}
+
+// SetPeerRegion sets the PeerRegion field's value.
+func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
+ s.PeerRegion = &v
+ return s
+}
+
+// SetPeerVpcId sets the PeerVpcId field's value.
+func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
+ s.PeerVpcId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of CreateVpcPeeringConnection.
+type CreateVpcPeeringConnectionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC peering connection.
+ VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpcPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpcPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
+func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
+ s.VpcPeeringConnection = v
+ return s
+}
+
+// Contains the parameters for CreateVpnConnection.
+type CreateVpnConnectionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the customer gateway.
+ //
+ // CustomerGatewayId is a required field
+ CustomerGatewayId *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"`
+
+ // The options for the VPN connection.
+ Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
+
+ // The type of VPN connection (ipsec.1).
+ //
+ // Type is a required field
+ Type *string `type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ //
+ // VpnGatewayId is a required field
+ VpnGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVpnConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnConnectionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpnConnectionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
+ if s.CustomerGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
+ }
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+ if s.VpnGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCustomerGatewayId sets the CustomerGatewayId field's value.
+func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
+ s.CustomerGatewayId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetOptions sets the Options field's value.
+func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
+ s.Options = v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
+ s.Type = &v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
+ s.VpnGatewayId = &v
+ return s
+}
+
+// Contains the output of CreateVpnConnection.
+type CreateVpnConnectionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPN connection.
+ VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpnConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpnConnection sets the VpnConnection field's value.
+func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
+ s.VpnConnection = v
+ return s
+}
+
+// Contains the parameters for CreateVpnConnectionRoute.
+type CreateVpnConnectionRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR block associated with the local subnet of the customer network.
+ //
+ // DestinationCidrBlock is a required field
+ DestinationCidrBlock *string `type:"string" required:"true"`
+
+ // The ID of the VPN connection.
+ //
+ // VpnConnectionId is a required field
+ VpnConnectionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVpnConnectionRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnConnectionRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpnConnectionRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
+ if s.DestinationCidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
+ }
+ if s.VpnConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetVpnConnectionId sets the VpnConnectionId field's value.
+func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
+ s.VpnConnectionId = &v
+ return s
+}
+
+type CreateVpnConnectionRouteOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpnConnectionRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnConnectionRouteOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CreateVpnGateway.
+type CreateVpnGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
+ // If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
+ // you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
+ //
+ // Default: 64512
+ AmazonSideAsn *int64 `type:"long"`
+
+ // The Availability Zone for the virtual private gateway.
+ AvailabilityZone *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 `locationName:"dryRun" type:"boolean"`
+
+ // The type of VPN connection this virtual private gateway supports.
+ //
+ // Type is a required field
+ Type *string `type:"string" required:"true" enum:"GatewayType"`
+}
+
+// String returns the string representation
+func (s CreateVpnGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVpnGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAmazonSideAsn sets the AmazonSideAsn field's value.
+func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
+ s.AmazonSideAsn = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
+ s.Type = &v
+ return s
+}
+
+// Contains the output of CreateVpnGateway.
+type CreateVpnGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the virtual private gateway.
+ VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVpnGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVpnGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpnGateway sets the VpnGateway field's value.
+func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
+ s.VpnGateway = v
+ return s
+}
+
+// Describes the credit option for CPU usage of a T2 instance.
+type CreditSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The credit option for CPU usage of a T2 instance.
+ CpuCredits *string `locationName:"cpuCredits" type:"string"`
+}
+
+// String returns the string representation
+func (s CreditSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreditSpecification) GoString() string {
+ return s.String()
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
+ s.CpuCredits = &v
+ return s
+}
+
+// The credit option for CPU usage of a T2 instance.
+type CreditSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The credit option for CPU usage of a T2 instance. Valid values are standard
+ // and unlimited.
+ //
+ // CpuCredits is a required field
+ CpuCredits *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreditSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreditSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreditSpecificationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
+ if s.CpuCredits == nil {
+ invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
+ s.CpuCredits = &v
+ return s
+}
+
+// Describes a customer gateway.
+type CustomerGateway struct {
+ _ struct{} `type:"structure"`
+
+ // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
+ // (ASN).
+ BgpAsn *string `locationName:"bgpAsn" type:"string"`
+
+ // The ID of the customer gateway.
+ CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
+
+ // The Internet-routable IP address of the customer gateway's outside interface.
+ IpAddress *string `locationName:"ipAddress" type:"string"`
+
+ // The current state of the customer gateway (pending | available | deleting
+ // | deleted).
+ State *string `locationName:"state" type:"string"`
+
+ // Any tags assigned to the customer gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection the customer gateway supports (ipsec.1).
+ Type *string `locationName:"type" type:"string"`
+}
+
+// String returns the string representation
+func (s CustomerGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CustomerGateway) GoString() string {
+ return s.String()
+}
+
+// SetBgpAsn sets the BgpAsn field's value.
+func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
+ s.BgpAsn = &v
+ return s
+}
+
+// SetCustomerGatewayId sets the CustomerGatewayId field's value.
+func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
+ s.CustomerGatewayId = &v
+ return s
+}
+
+// SetIpAddress sets the IpAddress field's value.
+func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
+ s.IpAddress = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *CustomerGateway) SetState(v string) *CustomerGateway {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
+ s.Tags = v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *CustomerGateway) SetType(v string) *CustomerGateway {
+ s.Type = &v
+ return s
+}
+
+// Contains the parameters for DeleteCustomerGateway.
+type DeleteCustomerGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the customer gateway.
+ //
+ // CustomerGatewayId is a required field
+ CustomerGatewayId *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"`
+}
+
+// String returns the string representation
+func (s DeleteCustomerGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteCustomerGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteCustomerGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
+ if s.CustomerGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCustomerGatewayId sets the CustomerGatewayId field's value.
+func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
+ s.CustomerGatewayId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+type DeleteCustomerGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteCustomerGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteCustomerGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteDhcpOptions.
+type DeleteDhcpOptionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the DHCP options set.
+ //
+ // DhcpOptionsId is a required field
+ DhcpOptionsId *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"`
+}
+
+// String returns the string representation
+func (s DeleteDhcpOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteDhcpOptionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteDhcpOptionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
+ if s.DhcpOptionsId == nil {
+ invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDhcpOptionsId sets the DhcpOptionsId field's value.
+func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
+ s.DhcpOptionsId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
+ s.DryRun = &v
+ return s
+}
+
+type DeleteDhcpOptionsOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteDhcpOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteDhcpOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteEgressOnlyInternetGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the egress-only Internet gateway.
+ //
+ // EgressOnlyInternetGatewayId is a required field
+ EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteEgressOnlyInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
+ if s.EgressOnlyInternetGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
+func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
+ s.EgressOnlyInternetGatewayId = &v
+ return s
+}
+
+type DeleteEgressOnlyInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ ReturnCode *bool `locationName:"returnCode" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturnCode sets the ReturnCode field's value.
+func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
+ s.ReturnCode = &v
+ return s
+}
+
+// Describes an EC2 Fleet error.
+type DeleteFleetError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
+
+ // The description for the error code.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteFleetError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFleetError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
+ s.Message = &v
+ return s
+}
+
+// Describes an EC2 Fleet that was not successfully deleted.
+type DeleteFleetErrorItem struct {
+ _ struct{} `type:"structure"`
+
+ // The error.
+ Error *DeleteFleetError `locationName:"error" type:"structure"`
+
+ // The ID of the EC2 Fleet.
+ FleetId *string `locationName:"fleetId" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteFleetErrorItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFleetErrorItem) GoString() string {
+ return s.String()
+}
+
+// SetError sets the Error field's value.
+func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
+ s.Error = v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
+ s.FleetId = &v
+ return s
+}
+
+// Describes an EC2 Fleet that was successfully deleted.
+type DeleteFleetSuccessItem struct {
+ _ struct{} `type:"structure"`
+
+ // The current state of the EC2 Fleet.
+ CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
+
+ // The ID of the EC2 Fleet.
+ FleetId *string `locationName:"fleetId" type:"string"`
+
+ // The previous state of the EC2 Fleet.
+ PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
+}
+
+// String returns the string representation
+func (s DeleteFleetSuccessItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFleetSuccessItem) GoString() string {
+ return s.String()
+}
+
+// SetCurrentFleetState sets the CurrentFleetState field's value.
+func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
+ s.CurrentFleetState = &v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
+ s.FleetId = &v
+ return s
+}
+
+// SetPreviousFleetState sets the PreviousFleetState field's value.
+func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
+ s.PreviousFleetState = &v
+ return s
+}
+
+type DeleteFleetsInput 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 IDs of the EC2 Fleets.
+ //
+ // FleetIds is a required field
+ FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
+
+ // Indicates whether to terminate instances for an EC2 Fleet if it is deleted
+ // successfully.
+ //
+ // TerminateInstances is a required field
+ TerminateInstances *bool `type:"boolean" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteFleetsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFleetsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteFleetsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
+ if s.FleetIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("FleetIds"))
+ }
+ if s.TerminateInstances == nil {
+ invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFleetIds sets the FleetIds field's value.
+func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
+ s.FleetIds = v
+ return s
+}
+
+// SetTerminateInstances sets the TerminateInstances field's value.
+func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
+ s.TerminateInstances = &v
+ return s
+}
+
+type DeleteFleetsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the EC2 Fleets that are successfully deleted.
+ SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
+
+ // Information about the EC2 Fleets that are not successfully deleted.
+ UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteFleetsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFleetsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
+func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
+ s.SuccessfulFleetDeletions = v
+ return s
+}
+
+// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
+func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
+ s.UnsuccessfulFleetDeletions = v
+ return s
+}
+
+// Contains the parameters for DeleteFlowLogs.
+type DeleteFlowLogsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more flow log IDs.
+ //
+ // FlowLogIds is a required field
+ FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteFlowLogsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
+ if s.FlowLogIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFlowLogIds sets the FlowLogIds field's value.
+func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
+ s.FlowLogIds = v
+ return s
+}
+
+// Contains the output of DeleteFlowLogs.
+type DeleteFlowLogsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the flow logs that could not be deleted successfully.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+type DeleteFpgaImageInput 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 AFI.
+ //
+ // FpgaImageId is a required field
+ FpgaImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteFpgaImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFpgaImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteFpgaImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
+ if s.FpgaImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
+ s.FpgaImageId = &v
+ return s
+}
+
+type DeleteFpgaImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Is true if the request succeeds, and an error otherwise.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DeleteFpgaImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFpgaImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DeleteInternetGateway.
+type DeleteInternetGatewayInput 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"`
+
+ // The ID of the Internet gateway.
+ //
+ // InternetGatewayId is a required field
+ InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteInternetGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
+ if s.InternetGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInternetGatewayId sets the InternetGatewayId field's value.
+func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
+ s.InternetGatewayId = &v
+ return s
+}
+
+type DeleteInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteKeyPair.
+type DeleteKeyPairInput 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"`
+
+ // The name of the key pair.
+ //
+ // KeyName is a required field
+ KeyName *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteKeyPairInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteKeyPairInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
+ if s.KeyName == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
+ s.KeyName = &v
+ return s
+}
+
+type DeleteKeyPairOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteLaunchTemplateInput 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 launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateName *string `min:"3" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteLaunchTemplateInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+type DeleteLaunchTemplateOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template.
+ LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplate sets the LaunchTemplate field's value.
+func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
+ s.LaunchTemplate = v
+ return s
+}
+
+type DeleteLaunchTemplateVersionsInput 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 launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateName *string `min:"3" type:"string"`
+
+ // The version numbers of one or more launch template versions to delete.
+ //
+ // Versions is a required field
+ Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateVersionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateVersionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+ if s.Versions == nil {
+ invalidParams.Add(request.NewErrParamRequired("Versions"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersions sets the Versions field's value.
+func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
+ s.Versions = v
+ return s
+}
+
+type DeleteLaunchTemplateVersionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template versions that were successfully deleted.
+ SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
+
+ // Information about the launch template versions that could not be deleted.
+ UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateVersionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
+func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
+ s.SuccessfullyDeletedLaunchTemplateVersions = v
+ return s
+}
+
+// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
+func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
+ s.UnsuccessfullyDeletedLaunchTemplateVersions = v
+ return s
+}
+
+// Describes a launch template version that could not be deleted.
+type DeleteLaunchTemplateVersionsResponseErrorItem struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
+
+ // Information about the error.
+ ResponseError *ResponseError `locationName:"responseError" type:"structure"`
+
+ // The version number of the launch template.
+ VersionNumber *int64 `locationName:"versionNumber" type:"long"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetResponseError sets the ResponseError field's value.
+func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
+ s.ResponseError = v
+ return s
+}
+
+// SetVersionNumber sets the VersionNumber field's value.
+func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
+ s.VersionNumber = &v
+ return s
+}
+
+// Describes a launch template version that was successfully deleted.
+type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
+
+ // The version number of the launch template.
+ VersionNumber *int64 `locationName:"versionNumber" type:"long"`
+}
+
+// String returns the string representation
+func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersionNumber sets the VersionNumber field's value.
+func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
+ s.VersionNumber = &v
+ return s
+}
+
+// Contains the parameters for DeleteNatGateway.
+type DeleteNatGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the NAT gateway.
+ //
+ // NatGatewayId is a required field
+ NatGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNatGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNatGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNatGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
+ if s.NatGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
+ s.NatGatewayId = &v
+ return s
+}
+
+// Contains the output of DeleteNatGateway.
+type DeleteNatGatewayOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the NAT gateway.
+ NatGatewayId *string `locationName:"natGatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteNatGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNatGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
+ s.NatGatewayId = &v
+ return s
+}
+
+// Contains the parameters for DeleteNetworkAclEntry.
+type DeleteNetworkAclEntryInput 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"`
+
+ // Indicates whether the rule is an egress rule.
+ //
+ // Egress is a required field
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // The ID of the network ACL.
+ //
+ // NetworkAclId is a required field
+ NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // The rule number of the entry to delete.
+ //
+ // RuleNumber is a required field
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkAclEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkAclEntryInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNetworkAclEntryInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
+ if s.Egress == nil {
+ invalidParams.Add(request.NewErrParamRequired("Egress"))
+ }
+ if s.NetworkAclId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
+ }
+ if s.RuleNumber == nil {
+ invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgress sets the Egress field's value.
+func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
+ s.Egress = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
+ s.NetworkAclId = &v
+ return s
+}
+
+// SetRuleNumber sets the RuleNumber field's value.
+func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
+ s.RuleNumber = &v
+ return s
+}
+
+type DeleteNetworkAclEntryOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkAclEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkAclEntryOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteNetworkAcl.
+type DeleteNetworkAclInput 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"`
+
+ // The ID of the network ACL.
+ //
+ // NetworkAclId is a required field
+ NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNetworkAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
+ if s.NetworkAclId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
+ s.NetworkAclId = &v
+ return s
+}
+
+type DeleteNetworkAclOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkAclOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteNetworkInterface.
+type DeleteNetworkInterfaceInput 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"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNetworkInterfaceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+type DeleteNetworkInterfaceOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteNetworkInterfacePermission.
+type DeleteNetworkInterfacePermissionInput 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"`
+
+ // Specify true to remove the permission even if the network interface is attached
+ // to an instance.
+ Force *bool `type:"boolean"`
+
+ // The ID of the network interface permission.
+ //
+ // NetworkInterfacePermissionId is a required field
+ NetworkInterfacePermissionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfacePermissionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfacePermissionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
+ if s.NetworkInterfacePermissionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetForce sets the Force field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
+ s.Force = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
+ s.NetworkInterfacePermissionId = &v
+ return s
+}
+
+// Contains the output for DeleteNetworkInterfacePermission.
+type DeleteNetworkInterfacePermissionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds, otherwise returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfacePermissionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DeletePlacementGroup.
+type DeletePlacementGroupInput 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"`
+
+ // The name of the placement group.
+ //
+ // GroupName is a required field
+ GroupName *string `locationName:"groupName" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeletePlacementGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeletePlacementGroupInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeletePlacementGroupInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
+ if s.GroupName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GroupName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
+ s.GroupName = &v
+ return s
+}
+
+type DeletePlacementGroupOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeletePlacementGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeletePlacementGroupOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteRoute.
+type DeleteRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR range for the route. The value you specify must match the CIDR
+ // for the route exactly.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The IPv6 CIDR range for the route. The value you specify must match the CIDR
+ // for the route exactly.
+ DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" 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.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
+func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
+ s.DestinationIpv6CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
+ s.RouteTableId = &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()
+}
+
+// Contains the parameters for DeleteRouteTable.
+type DeleteRouteTableInput 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"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteTableInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteRouteTableInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
+ s.RouteTableId = &v
+ return s
+}
+
+type DeleteRouteTableOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteSecurityGroup.
+type DeleteSecurityGroupInput 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"`
+
+ // The ID of the security group. Required for a nondefault VPC.
+ GroupId *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group. You can specify
+ // either the security group name or the security group ID.
+ GroupName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteSecurityGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSecurityGroupInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
+ s.GroupName = &v
+ return s
+}
+
+type DeleteSecurityGroupOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSecurityGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSecurityGroupOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteSnapshot.
+type DeleteSnapshotInput 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"`
+
+ // The ID of the EBS snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteSnapshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
+ s.SnapshotId = &v
+ return s
+}
+
+type DeleteSnapshotOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteSpotDatafeedSubscription.
+type DeleteSpotDatafeedSubscriptionInput 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"`
+}
+
+// String returns the string representation
+func (s DeleteSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
+ s.DryRun = &v
+ return s
+}
+
+type DeleteSpotDatafeedSubscriptionOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteSubnet.
+type DeleteSubnetInput 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"`
+
+ // The ID of the subnet.
+ //
+ // SubnetId is a required field
+ SubnetId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteSubnetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSubnetInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteSubnetInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
+ s.SubnetId = &v
+ return s
+}
+
+type DeleteSubnetOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSubnetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSubnetOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteTags.
+type DeleteTagsInput 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"`
+
+ // The IDs of one or more resources.
+ //
+ // Resources is a required field
+ Resources []*string `locationName:"resourceId" type:"list" required:"true"`
+
+ // One or more tags to delete. Specify a tag key and an optional tag value to
+ // delete specific tags. If you specify a tag key without a tag value, we delete
+ // any tag with this key regardless of its value. If you specify a tag key with
+ // an empty string as the tag value, we delete the tag only if its value is
+ // an empty string.
+ //
+ // If you omit this parameter, we delete all user-defined tags for the specified
+ // resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
+ Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
+}
+
+// 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.Resources == nil {
+ invalidParams.Add(request.NewErrParamRequired("Resources"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetResources sets the Resources field's value.
+func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
+ s.Resources = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
+ s.Tags = 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()
+}
+
+// Contains the parameters for DeleteVolume.
+type DeleteVolumeInput 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"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVolumeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVolumeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
+ s.VolumeId = &v
+ return s
+}
+
+type DeleteVolumeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVolumeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVolumeOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVpcEndpointConnectionNotificationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more notification IDs.
+ //
+ // ConnectionNotificationIds is a required field
+ ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" 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 DeleteVpcEndpointConnectionNotificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
+ if s.ConnectionNotificationIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
+func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
+ s.ConnectionNotificationIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
+ s.DryRun = &v
+ return s
+}
+
+type DeleteVpcEndpointConnectionNotificationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the notifications that could not be deleted successfully.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+type DeleteVpcEndpointServiceConfigurationsInput 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 IDs of one or more services.
+ //
+ // ServiceIds is a required field
+ ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
+ if s.ServiceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetServiceIds sets the ServiceIds field's value.
+func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
+ s.ServiceIds = v
+ return s
+}
+
+type DeleteVpcEndpointServiceConfigurationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the service configurations that were not deleted, if applicable.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+// Contains the parameters for DeleteVpcEndpoints.
+type DeleteVpcEndpointsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more VPC endpoint IDs.
+ //
+ // VpcEndpointIds is a required field
+ VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpcEndpointsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpcEndpointsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
+ if s.VpcEndpointIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcEndpointIds sets the VpcEndpointIds field's value.
+func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
+ s.VpcEndpointIds = v
+ return s
+}
+
+// Contains the output of DeleteVpcEndpoints.
+type DeleteVpcEndpointsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC endpoints that were not successfully deleted.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DeleteVpcEndpointsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcEndpointsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+// Contains the parameters for DeleteVpc.
+type DeleteVpcInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpcInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
+ s.VpcId = &v
+ return s
+}
+
+type DeleteVpcOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteVpcPeeringConnection.
+type DeleteVpcPeeringConnectionInput 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"`
+
+ // The ID of the VPC peering connection.
+ //
+ // VpcPeeringConnectionId is a required field
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpcPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpcPeeringConnectionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
+ if s.VpcPeeringConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Contains the output of DeleteVpcPeeringConnection.
+type DeleteVpcPeeringConnectionOutput 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 DeleteVpcPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpcPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DeleteVpnConnection.
+type DeleteVpnConnectionInput 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"`
+
+ // The ID of the VPN connection.
+ //
+ // VpnConnectionId is a required field
+ VpnConnectionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpnConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnConnectionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpnConnectionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
+ if s.VpnConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpnConnectionId sets the VpnConnectionId field's value.
+func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
+ s.VpnConnectionId = &v
+ return s
+}
+
+type DeleteVpnConnectionOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVpnConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteVpnConnectionRoute.
+type DeleteVpnConnectionRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR block associated with the local subnet of the customer network.
+ //
+ // DestinationCidrBlock is a required field
+ DestinationCidrBlock *string `type:"string" required:"true"`
+
+ // The ID of the VPN connection.
+ //
+ // VpnConnectionId is a required field
+ VpnConnectionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpnConnectionRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnConnectionRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpnConnectionRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
+ if s.DestinationCidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
+ }
+ if s.VpnConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetVpnConnectionId sets the VpnConnectionId field's value.
+func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
+ s.VpnConnectionId = &v
+ return s
+}
+
+type DeleteVpnConnectionRouteOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVpnConnectionRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnConnectionRouteOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteVpnGateway.
+type DeleteVpnGatewayInput 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"`
+
+ // The ID of the virtual private gateway.
+ //
+ // VpnGatewayId is a required field
+ VpnGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVpnGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVpnGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
+ if s.VpnGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
+ s.VpnGatewayId = &v
+ return s
+}
+
+type DeleteVpnGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVpnGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVpnGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeregisterImage.
+type DeregisterImageInput 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"`
+
+ // The ID of the AMI.
+ //
+ // ImageId is a required field
+ ImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeregisterImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeregisterImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
+ if s.ImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
+ s.ImageId = &v
+ return s
+}
+
+type DeregisterImageOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeregisterImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterImageOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeAccountAttributes.
+type DescribeAccountAttributesInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more account attribute names.
+ AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" 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"`
+}
+
+// String returns the string representation
+func (s DescribeAccountAttributesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAccountAttributesInput) GoString() string {
+ return s.String()
+}
+
+// SetAttributeNames sets the AttributeNames field's value.
+func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
+ s.AttributeNames = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of DescribeAccountAttributes.
+type DescribeAccountAttributesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more account attributes.
+ AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeAccountAttributesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAccountAttributesOutput) GoString() string {
+ return s.String()
+}
+
+// SetAccountAttributes sets the AccountAttributes field's value.
+func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
+ s.AccountAttributes = v
+ return s
+}
+
+// Contains the parameters for DescribeAddresses.
+type DescribeAddressesInput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] One or more allocation IDs.
+ //
+ // Default: Describes all your Elastic IP addresses.
+ AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" 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. Filter names and values are case-sensitive.
+ //
+ // * allocation-id - [EC2-VPC] The allocation ID for the address.
+ //
+ // * association-id - [EC2-VPC] The association ID for the address.
+ //
+ // * domain - Indicates whether the address is for use in EC2-Classic (standard)
+ // or in a VPC (vpc).
+ //
+ // * instance-id - The ID of the instance the address is associated with,
+ // if any.
+ //
+ // * network-interface-id - [EC2-VPC] The ID of the network interface that
+ // the address is associated with, if any.
+ //
+ // * network-interface-owner-id - The AWS account ID of the owner.
+ //
+ // * private-ip-address - [EC2-VPC] The private IP address associated with
+ // the Elastic IP address.
+ //
+ // * public-ip - The Elastic IP address.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // [EC2-Classic] One or more Elastic IP addresses.
+ //
+ // Default: Describes all your Elastic IP addresses.
+ PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAddressesInput) GoString() string {
+ return s.String()
+}
+
+// SetAllocationIds sets the AllocationIds field's value.
+func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
+ s.AllocationIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
+ s.Filters = v
+ return s
+}
+
+// SetPublicIps sets the PublicIps field's value.
+func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
+ s.PublicIps = v
+ return s
+}
+
+// Contains the output of DescribeAddresses.
+type DescribeAddressesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more Elastic IP addresses.
+ Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAddressesOutput) GoString() string {
+ return s.String()
+}
+
+// SetAddresses sets the Addresses field's value.
+func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
+ s.Addresses = v
+ return s
+}
+
+type DescribeAggregateIdFormatInput 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"`
+}
+
+// String returns the string representation
+func (s DescribeAggregateIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAggregateIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
+ s.DryRun = &v
+ return s
+}
+
+type DescribeAggregateIdFormatOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about each resource's ID format.
+ Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
+
+ // Indicates whether all resource types in the region are configured to use
+ // longer IDs. This value is only true if all users are configured to use longer
+ // IDs for all resources types in the region.
+ UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
+}
+
+// String returns the string representation
+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
+}
+
+// Contains the parameters for DescribeAvailabilityZones.
+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-name - The name of the Availability Zone (for example, us-east-1a).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" 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
+}
+
+// SetZoneNames sets the ZoneNames field's value.
+func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
+ s.ZoneNames = v
+ return s
+}
+
+// Contains the output of DescribeAvailabiltyZones.
+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
+}
+
+// Contains the parameters for DescribeClassicLinkInstances.
+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:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // * 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 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
+}
+
+// Contains the output of DescribeClassicLinkInstances.
+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 DescribeClassicLinkInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstances sets the Instances field's value.
+func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
+ s.Instances = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeConversionTasks.
+type DescribeConversionTasksInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more conversion task IDs.
+ ConversionTaskIds []*string `locationName:"conversionTaskId" 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 `locationName:"dryRun" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DescribeConversionTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeConversionTasksInput) GoString() string {
+ return s.String()
+}
+
+// SetConversionTaskIds sets the ConversionTaskIds field's value.
+func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
+ s.ConversionTaskIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output for DescribeConversionTasks.
+type DescribeConversionTasksOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the conversion tasks.
+ ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeConversionTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeConversionTasksOutput) GoString() string {
+ return s.String()
+}
+
+// SetConversionTasks sets the ConversionTasks field's value.
+func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
+ s.ConversionTasks = v
+ return s
+}
+
+// Contains the parameters for DescribeCustomerGateways.
+type DescribeCustomerGatewaysInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more customer gateway IDs.
+ //
+ // Default: Describes all your customer gateways.
+ CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" 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.
+ //
+ // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
+ // System Number (ASN).
+ //
+ // * customer-gateway-id - The ID of the customer gateway.
+ //
+ // * ip-address - The IP address of the customer gateway's Internet-routable
+ // external interface.
+ //
+ // * state - The state of the customer gateway (pending | available | deleting
+ // | deleted).
+ //
+ // * type - The type of customer gateway. Currently, the only supported type
+ // is ipsec.1.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeCustomerGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCustomerGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
+func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
+ s.CustomerGatewayIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
+ s.Filters = v
+ return s
+}
+
+// Contains the output of DescribeCustomerGateways.
+type DescribeCustomerGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more customer gateways.
+ CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeCustomerGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCustomerGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetCustomerGateways sets the CustomerGateways field's value.
+func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
+ s.CustomerGateways = v
+ return s
+}
+
+// Contains the parameters for DescribeDhcpOptions.
+type DescribeDhcpOptionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of one or more DHCP options sets.
+ //
+ // Default: Describes all your DHCP options sets.
+ DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" 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.
+ //
+ // * dhcp-options-id - The ID of a set of DHCP options.
+ //
+ // * key - The key for one of the options (for example, domain-name).
+ //
+ // * value - The value for one of the options.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeDhcpOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeDhcpOptionsInput) GoString() string {
+ return s.String()
+}
+
+// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
+func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
+ s.DhcpOptionsIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
+ s.Filters = v
+ return s
+}
+
+// Contains the output of DescribeDhcpOptions.
+type DescribeDhcpOptionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more DHCP options sets.
+ DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeDhcpOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeDhcpOptionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetDhcpOptions sets the DhcpOptions field's value.
+func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
+ s.DhcpOptions = v
+ return s
+}
+
+type DescribeEgressOnlyInternetGatewaysInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more egress-only Internet gateway IDs.
+ EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // NextToken value. This value can be between 5 and 1000; if MaxResults is given
+ // a value larger than 1000, only 1000 results are returned.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
+func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
+ s.EgressOnlyInternetGatewayIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeEgressOnlyInternetGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the egress-only Internet gateways.
+ EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
+func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
+ s.EgressOnlyInternetGateways = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeElasticGpusInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more Elastic GPU IDs.
+ ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone in which the Elastic GPU resides.
+ //
+ // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).
+ //
+ // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED).
+ //
+ // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.
+ //
+ // * instance-id - The ID of the instance to which the Elastic GPU is associated.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. This
+ // value can be between 5 and 1000.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeElasticGpusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeElasticGpusInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetElasticGpuIds sets the ElasticGpuIds field's value.
+func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
+ s.ElasticGpuIds = v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeElasticGpusOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Elastic GPUs.
+ ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
+
+ // The total number of items to return. If the total number of items available
+ // is more than the value specified in max-items then a Next-Token will be provided
+ // in the output that you can use to resume pagination.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // 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 DescribeElasticGpusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeElasticGpusOutput) GoString() string {
+ return s.String()
+}
+
+// SetElasticGpuSet sets the ElasticGpuSet field's value.
+func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
+ s.ElasticGpuSet = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeExportTasks.
+type DescribeExportTasksInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more export task IDs.
+ ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeExportTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeExportTasksInput) GoString() string {
+ return s.String()
+}
+
+// SetExportTaskIds sets the ExportTaskIds field's value.
+func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
+ s.ExportTaskIds = v
+ return s
+}
+
+// Contains the output for DescribeExportTasks.
+type DescribeExportTasksOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the export tasks.
+ ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeExportTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeExportTasksOutput) GoString() string {
+ return s.String()
+}
+
+// SetExportTasks sets the ExportTasks field's value.
+func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
+ s.ExportTasks = v
+ return s
+}
+
+type DescribeFleetHistoryInput 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 type of events to describe. By default, all events are described.
+ EventType *string `type:"string" enum:"FleetEventType"`
+
+ // The ID of the EC2 Fleet.
+ //
+ // FleetId is a required field
+ FleetId *string `type:"string" required:"true"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `type:"string"`
+
+ // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ //
+ // StartTime is a required field
+ StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeFleetHistoryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetHistoryInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeFleetHistoryInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
+ if s.FleetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FleetId"))
+ }
+ if s.StartTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("StartTime"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
+ s.EventType = &v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
+ s.FleetId = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
+ s.StartTime = &v
+ return s
+}
+
+type DescribeFleetHistoryOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the EC Fleet.
+ FleetId *string `locationName:"fleetId" type:"string"`
+
+ // Information about the events in the history of the EC2 Fleet.
+ HistoryRecords []*HistoryRecordEntry `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 *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s DescribeFleetHistoryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetHistoryOutput) GoString() string {
+ return s.String()
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
+ s.FleetId = &v
+ return s
+}
+
+// SetHistoryRecords sets the HistoryRecords field's value.
+func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
+ s.HistoryRecords = v
+ return s
+}
+
+// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
+func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
+ s.LastEvaluatedTime = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
+ s.StartTime = &v
+ return s
+}
+
+type DescribeFleetInstancesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * instance-type - The instance type.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The ID of the EC2 Fleet.
+ //
+ // FleetId is a required field
+ FleetId *string `type:"string" required:"true"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFleetInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeFleetInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
+ if s.FleetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FleetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
+ s.Filters = v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
+ s.FleetId = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeFleetInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The running instances. This list is refreshed periodically and might be out
+ // of date.
+ ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
+
+ // The ID of the EC2 Fleet.
+ FleetId *string `locationName:"fleetId" type:"string"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFleetInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetActiveInstances sets the ActiveInstances field's value.
+func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
+ s.ActiveInstances = v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
+ s.FleetId = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeFleetsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
+ // | pending-termination | fulfilled).
+ //
+ // * excess-capacity-termination-policy - Indicates whether to terminate
+ // running instances if the target capacity is decreased below the current
+ // EC2 Fleet size (true | false).
+ //
+ // * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
+ // | failed | deleted-running | deleted-terminating | modifying).
+ //
+ // * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
+ // unhealthy instances (true | false).
+ //
+ // * type - The type of request (request | maintain).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The ID of the EC2 Fleets.
+ FleetIds []*string `locationName:"FleetId" type:"list"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFleetsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
+ s.Filters = v
+ return s
+}
+
+// SetFleetIds sets the FleetIds field's value.
+func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
+ s.FleetIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeFleetsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the EC2 Fleets.
+ Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFleetsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFleetsOutput) GoString() string {
+ return s.String()
+}
+
+// SetFleets sets the Fleets field's value.
+func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
+ s.Fleets = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeFlowLogs.
+type DescribeFlowLogsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
+ //
+ // * flow-log-id - The ID of the flow log.
+ //
+ // * log-group-name - The name of the log group.
+ //
+ // * resource-id - The ID of the VPC, subnet, or network interface.
+ //
+ // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
+ Filter []*Filter `locationNameList:"Filter" type:"list"`
+
+ // One or more flow log IDs.
+ FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // NextToken value. This value can be between 5 and 1000; if MaxResults is given
+ // a value larger than 1000, only 1000 results are returned. You cannot specify
+ // this parameter and the flow log IDs parameter in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilter sets the Filter field's value.
+func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
+ s.Filter = v
+ return s
+}
+
+// SetFlowLogIds sets the FlowLogIds field's value.
+func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
+ s.FlowLogIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeFlowLogs.
+type DescribeFlowLogsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the flow logs.
+ FlowLogs []*FlowLog `locationName:"flowLogSet" 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 DescribeFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+// SetFlowLogs sets the FlowLogs field's value.
+func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
+ s.FlowLogs = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeFpgaImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The AFI attribute.
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
+
+ // 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 AFI.
+ //
+ // FpgaImageId is a required field
+ FpgaImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeFpgaImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeFpgaImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.FpgaImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
+ s.FpgaImageId = &v
+ return s
+}
+
+type DescribeFpgaImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the attribute.
+ FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeFpgaImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
+func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
+ s.FpgaImageAttribute = v
+ return s
+}
+
+type DescribeFpgaImagesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * create-time - The creation time of the AFI.
+ //
+ // * fpga-image-id - The FPGA image identifier (AFI ID).
+ //
+ // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
+ //
+ // * name - The name of the AFI.
+ //
+ // * owner-id - The AWS account ID of the AFI owner.
+ //
+ // * product-code - The product code.
+ //
+ // * shell-version - The version of the AWS Shell that was used to create
+ // the bitstream.
+ //
+ // * state - The state of the AFI (pending | failed | available | unavailable).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * update-time - The time of the most recent update.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more AFI IDs.
+ FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return in a single call.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `min:"1" type:"string"`
+
+ // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
+ // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
+ Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeFpgaImagesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImagesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeFpgaImagesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
+ 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 *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
+ s.Filters = v
+ return s
+}
+
+// SetFpgaImageIds sets the FpgaImageIds field's value.
+func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
+ s.FpgaImageIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOwners sets the Owners field's value.
+func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
+ s.Owners = v
+ return s
+}
+
+type DescribeFpgaImagesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more FPGA images.
+ FpgaImages []*FpgaImage `locationName:"fpgaImageSet" 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 DescribeFpgaImagesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImagesOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImages sets the FpgaImages field's value.
+func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
+ s.FpgaImages = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeHostReservationOfferingsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * instance-family - The instance family of the offering (e.g., m4).
+ //
+ // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
+ Filter []*Filter `locationNameList:"Filter" type:"list"`
+
+ // This is the maximum duration of the reservation you'd like to purchase, specified
+ // in seconds. Reservations are available in one-year and three-year terms.
+ // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
+ // times one of the supported durations (1 or 3). For example, specify 94608000
+ // for three years.
+ MaxDuration *int64 `type:"integer"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // nextToken value. This value can be between 5 and 500; if maxResults is given
+ // a larger value than 500, you will receive an error.
+ MaxResults *int64 `type:"integer"`
+
+ // This is the minimum duration of the reservation you'd like to purchase, specified
+ // in seconds. Reservations are available in one-year and three-year terms.
+ // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
+ // times one of the supported durations (1 or 3). For example, specify 31536000
+ // for one year.
+ MinDuration *int64 `type:"integer"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the reservation offering.
+ OfferingId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeHostReservationOfferingsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostReservationOfferingsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilter sets the Filter field's value.
+func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
+ s.Filter = v
+ return s
+}
+
+// SetMaxDuration sets the MaxDuration field's value.
+func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
+ s.MaxDuration = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetMinDuration sets the MinDuration field's value.
+func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
+ s.MinDuration = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
+ s.OfferingId = &v
+ return s
+}
+
+type DescribeHostReservationOfferingsOutput 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 offerings.
+ OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeHostReservationOfferingsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostReservationOfferingsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOfferingSet sets the OfferingSet field's value.
+func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
+ s.OfferingSet = v
+ return s
+}
+
+type DescribeHostReservationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * instance-family - The instance family (e.g., m4).
+ //
+ // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
+ //
+ // * state - The state of the reservation (payment-pending | payment-failed
+ // | active | retired).
+ Filter []*Filter `locationNameList:"Filter" type:"list"`
+
+ // One or more host reservation IDs.
+ HostReservationIdSet []*string `locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // nextToken value. This value can be between 5 and 500; if maxResults is given
+ // a larger value than 500, you will receive an error.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeHostReservationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostReservationsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilter sets the Filter field's value.
+func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
+ s.Filter = v
+ return s
+}
+
+// SetHostReservationIdSet sets the HostReservationIdSet field's value.
+func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
+ s.HostReservationIdSet = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeHostReservationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Details about the reservation's configuration.
+ HostReservationSet []*HostReservation `locationName:"hostReservationSet" 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 DescribeHostReservationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostReservationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetHostReservationSet sets the HostReservationSet field's value.
+func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
+ s.HostReservationSet = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeHosts.
+type DescribeHostsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * auto-placement - Whether auto-placement is enabled or disabled (on |
+ // off).
+ //
+ // * availability-zone - The Availability Zone of the host.
+ //
+ // * client-token - The idempotency token you provided when you allocated
+ // the host.
+ //
+ // * host-reservation-id - The ID of the reservation assigned to this host.
+ //
+ // * instance-type - The instance type size that the Dedicated Host is configured
+ // to support.
+ //
+ // * state - The allocation state of the Dedicated Host (available | under-assessment
+ // | permanent-failure | released | released-permanent-failure).
+ //
+ // * 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.
+ Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
+ HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // nextToken value. This value can be between 5 and 500; if maxResults is given
+ // a larger value than 500, you will receive an error. You cannot specify this
+ // parameter and the host IDs parameter in the same request.
+ 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 DescribeHostsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilter sets the Filter field's value.
+func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
+ s.Filter = v
+ return s
+}
+
+// SetHostIds sets the HostIds field's value.
+func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
+ s.HostIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeHosts.
+type DescribeHostsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Dedicated Hosts.
+ Hosts []*Host `locationName:"hostSet" 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 DescribeHostsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeHostsOutput) GoString() string {
+ return s.String()
+}
+
+// SetHosts sets the Hosts field's value.
+func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
+ s.Hosts = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeIamInstanceProfileAssociationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more IAM instance profile associations.
+ AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
+
+ // One or more filters.
+ //
+ // * instance-id - The ID of the instance.
+ //
+ // * state - The state of the association (associating | associated | disassociating
+ // | disassociated).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The 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 `min:"5" type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `min:"1" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeIamInstanceProfileAssociationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
+ 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 *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
+ s.AssociationIds = v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeIamInstanceProfileAssociationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more IAM instance profile associations.
+ IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" 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 DescribeIamInstanceProfileAssociationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
+func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
+ s.IamInstanceProfileAssociations = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeIdFormat.
+type DescribeIdFormatInput struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
+ // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
+ // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
+ // | network-interface | network-interface-attachment | prefix-list | reservation
+ // | route-table | route-table-association | security-group | snapshot | subnet
+ // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+ // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
+ Resource *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// SetResource sets the Resource field's value.
+func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
+ s.Resource = &v
+ return s
+}
+
+// Contains the output of DescribeIdFormat.
+type DescribeIdFormatOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the ID format for the resource.
+ Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeIdFormatOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIdFormatOutput) GoString() string {
+ return s.String()
+}
+
+// SetStatuses sets the Statuses field's value.
+func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
+ s.Statuses = v
+ return s
+}
+
+// Contains the parameters for DescribeIdentityIdFormat.
+type DescribeIdentityIdFormatInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the principal, which can be an IAM role, IAM user, or the root
+ // user.
+ //
+ // PrincipalArn is a required field
+ PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
+
+ // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
+ // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
+ // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
+ // | network-interface | network-interface-attachment | prefix-list | reservation
+ // | route-table | route-table-association | security-group | snapshot | subnet
+ // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+ // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
+ Resource *string `locationName:"resource" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeIdentityIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIdentityIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeIdentityIdFormatInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
+ if s.PrincipalArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPrincipalArn sets the PrincipalArn field's value.
+func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
+ s.PrincipalArn = &v
+ return s
+}
+
+// SetResource sets the Resource field's value.
+func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
+ s.Resource = &v
+ return s
+}
+
+// Contains the output of DescribeIdentityIdFormat.
+type DescribeIdentityIdFormatOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the ID format for the resources.
+ Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeIdentityIdFormatOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeIdentityIdFormatOutput) GoString() string {
+ return s.String()
+}
+
+// SetStatuses sets the Statuses field's value.
+func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
+ s.Statuses = v
+ return s
+}
+
+// Contains the parameters for DescribeImageAttribute.
+type DescribeImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The AMI attribute.
+ //
+ // Note: Depending on your account privileges, the blockDeviceMapping attribute
+ // may return a Client.AuthFailure error. If this happens, use DescribeImages
+ // to get information about the block device mapping for the AMI.
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
+
+ // 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"`
+
+ // The ID of the AMI.
+ //
+ // ImageId is a required field
+ ImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.ImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
+ s.ImageId = &v
+ return s
+}
+
+// Describes an image attribute.
+type DescribeImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // A description for the AMI.
+ Description *AttributeValue `locationName:"description" type:"structure"`
+
+ // The ID of the AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The kernel ID.
+ KernelId *AttributeValue `locationName:"kernel" type:"structure"`
+
+ // One or more launch permissions.
+ LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
+
+ // One or more product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The RAM disk ID.
+ RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // Indicates whether enhanced networking with the Intel 82599 Virtual Function
+ // interface is enabled.
+ SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
+ s.Description = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
+ s.ImageId = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
+ s.KernelId = v
+ return s
+}
+
+// SetLaunchPermissions sets the LaunchPermissions field's value.
+func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
+ s.LaunchPermissions = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
+ s.RamdiskId = v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
+ s.SriovNetSupport = v
+ return s
+}
+
+// Contains the parameters for DescribeImages.
+type DescribeImagesInput 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"`
+
+ // Scopes the images by users with explicit launch permissions. Specify an AWS
+ // account ID, self (the sender of the request), or all (public AMIs).
+ ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
+
+ // One or more filters.
+ //
+ // * architecture - The image architecture (i386 | x86_64).
+ //
+ // * block-device-mapping.delete-on-termination - A Boolean value that indicates
+ // whether the Amazon EBS volume is deleted on instance termination.
+ //
+ // * block-device-mapping.device-name - The device name specified in the
+ // block device mapping (for example, /dev/sdh or xvdh).
+ //
+ // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
+ // EBS volume.
+ //
+ // * block-device-mapping.volume-size - The volume size of the EBS volume,
+ // in GiB.
+ //
+ // * block-device-mapping.volume-type - The volume type of the EBS volume
+ // (gp2 | io1 | st1 | sc1 | standard).
+ //
+ // * description - The description of the image (provided during image creation).
+ //
+ // * ena-support - A Boolean that indicates whether enhanced networking with
+ // ENA is enabled.
+ //
+ // * hypervisor - The hypervisor type (ovm | xen).
+ //
+ // * image-id - The ID of the image.
+ //
+ // * image-type - The image type (machine | kernel | ramdisk).
+ //
+ // * is-public - A Boolean that indicates whether the image is public.
+ //
+ // * kernel-id - The kernel ID.
+ //
+ // * manifest-location - The location of the image manifest.
+ //
+ // * name - The name of the AMI (provided during image creation).
+ //
+ // * owner-alias - String value from an Amazon-maintained list (amazon |
+ // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
+ // the user-configured AWS account alias, which is set from the IAM console.
+ //
+ // * owner-id - The AWS account ID of the image owner.
+ //
+ // * platform - The platform. To only list Windows-based AMIs, use windows.
+ //
+ // * product-code - The product code.
+ //
+ // * product-code.type - The type of the product code (devpay | marketplace).
+ //
+ // * ramdisk-id - The RAM disk ID.
+ //
+ // * root-device-name - The device name of the root device volume (for example,
+ // /dev/sda1).
+ //
+ // * root-device-type - The type of the root device volume (ebs | instance-store).
+ //
+ // * state - The state of the image (available | pending | failed).
+ //
+ // * state-reason-code - The reason code for the state change.
+ //
+ // * state-reason-message - The message for the state change.
+ //
+ // * sriov-net-support - A value of simple indicates that enhanced networking
+ // with the Intel 82599 VF interface is enabled.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * virtualization-type - The virtualization type (paravirtual | hvm).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more image IDs.
+ //
+ // Default: Describes all images available to you.
+ ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
+
+ // Filters the images by the owner. Specify an AWS account ID, self (owner is
+ // the sender of the request), or an AWS owner alias (valid values are amazon
+ // | aws-marketplace | microsoft). Omitting this option returns all images for
+ // which you have launch permissions, regardless of ownership.
+ Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeImagesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImagesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetExecutableUsers sets the ExecutableUsers field's value.
+func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
+ s.ExecutableUsers = v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
+ s.Filters = v
+ return s
+}
+
+// SetImageIds sets the ImageIds field's value.
+func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
+ s.ImageIds = v
+ return s
+}
+
+// SetOwners sets the Owners field's value.
+func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
+ s.Owners = v
+ return s
+}
+
+// Contains the output of DescribeImages.
+type DescribeImagesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more images.
+ Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeImagesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImagesOutput) GoString() string {
+ return s.String()
+}
+
+// SetImages sets the Images field's value.
+func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
+ s.Images = v
+ return s
+}
+
+// Contains the parameters for DescribeImportImageTasks.
+type DescribeImportImageTasksInput 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"`
+
+ // Filter tasks using the task-state filter and one of the following values:
+ // active, completed, deleting, deleted.
+ Filters []*Filter `locationNameList:"Filter" type:"list"`
+
+ // A list of import image task IDs.
+ ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
+
+ // The 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"`
+
+ // A token that indicates the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeImportImageTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportImageTasksInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
+ s.Filters = v
+ return s
+}
+
+// SetImportTaskIds sets the ImportTaskIds field's value.
+func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
+ s.ImportTaskIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output for DescribeImportImageTasks.
+type DescribeImportImageTasksOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of zero or more import image tasks that are currently active or were
+ // completed or canceled in the previous 7 days.
+ ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
+
+ // The token to use to get 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 DescribeImportImageTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportImageTasksOutput) GoString() string {
+ return s.String()
+}
+
+// SetImportImageTasks sets the ImportImageTasks field's value.
+func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
+ s.ImportImageTasks = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeImportSnapshotTasks.
+type DescribeImportSnapshotTasksInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationNameList:"Filter" type:"list"`
+
+ // A list of import snapshot task IDs.
+ ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
+
+ // The 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"`
+
+ // A token that indicates the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeImportSnapshotTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportSnapshotTasksInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
+ s.Filters = v
+ return s
+}
+
+// SetImportTaskIds sets the ImportTaskIds field's value.
+func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
+ s.ImportTaskIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output for DescribeImportSnapshotTasks.
+type DescribeImportSnapshotTasksOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of zero or more import snapshot tasks that are currently active or
+ // were completed or canceled in the previous 7 days.
+ ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
+
+ // The token to use to get 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 DescribeImportSnapshotTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportSnapshotTasksOutput) GoString() string {
+ return s.String()
+}
+
+// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
+func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
+ s.ImportSnapshotTasks = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeInstanceAttribute.
+type DescribeInstanceAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The instance attribute.
+ //
+ // Note: The enaSupport attribute is not supported at this time.
+ //
+ // Attribute is a required field
+ Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
+
+ // 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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeInstanceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
+ s.InstanceId = &v
+ return s
+}
+
+// Describes an instance attribute.
+type DescribeInstanceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The block device mapping of the instance.
+ BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // If the value is true, you can't terminate the instance through the Amazon
+ // EC2 console, CLI, or API; otherwise, you can.
+ DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
+
+ // Indicates whether the instance is optimized for Amazon EBS I/O.
+ EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
+
+ // Indicates whether enhanced networking with ENA is enabled.
+ EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
+
+ // The security groups associated with the instance.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
+
+ // The instance type.
+ InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
+
+ // The kernel ID.
+ KernelId *AttributeValue `locationName:"kernel" type:"structure"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The RAM disk ID.
+ RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // The device name of the root device volume (for example, /dev/sda1).
+ RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
+
+ // Indicates whether source/destination checking is enabled. A value of true
+ // means that checking is enabled, and false means that checking is disabled.
+ // This value must be false for a NAT instance to perform NAT.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+
+ // Indicates whether enhanced networking with the Intel 82599 Virtual Function
+ // interface is enabled.
+ SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+
+ // The user data.
+ UserData *AttributeValue `locationName:"userData" type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetDisableApiTermination sets the DisableApiTermination field's value.
+func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
+ s.DisableApiTermination = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
+ s.EbsOptimized = v
+ return s
+}
+
+// SetEnaSupport sets the EnaSupport field's value.
+func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
+ s.EnaSupport = v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
+ s.Groups = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.InstanceInitiatedShutdownBehavior = v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.InstanceType = v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.KernelId = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.RamdiskId = v
+ return s
+}
+
+// SetRootDeviceName sets the RootDeviceName field's value.
+func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.RootDeviceName = v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
+ s.SourceDestCheck = v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.SriovNetSupport = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
+ s.UserData = v
+ return s
+}
+
+type DescribeInstanceCreditSpecificationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * instance-id - The ID of the instance.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more instance IDs.
+ //
+ // Default: Describes all your instances.
+ //
+ // Constraints: Maximum 1000 explicitly specified instance IDs.
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // 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"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceCreditSpecificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
+ s.InstanceIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeInstanceCreditSpecificationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the credit option for CPU usage of an instance.
+ InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" 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 DescribeInstanceCreditSpecificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
+func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
+ s.InstanceCreditSpecifications = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeInstanceStatus.
+type DescribeInstanceStatusInput 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.
+ //
+ // * availability-zone - The Availability Zone of the instance.
+ //
+ // * event.code - The code for the scheduled event (instance-reboot | system-reboot
+ // | system-maintenance | instance-retirement | instance-stop).
+ //
+ // * event.description - A description of the event.
+ //
+ // * 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).
+ //
+ // * instance-state-code - The code for the instance state, as a 16-bit unsigned
+ // integer. The high byte is an opaque internal value and should be ignored.
+ // The low byte is set based on the state represented. The valid values are
+ // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
+ // and 80 (stopped).
+ //
+ // * instance-state-name - The state of the instance (pending | running |
+ // shutting-down | terminated | stopping | stopped).
+ //
+ // * instance-status.reachability - Filters on instance status where the
+ // name is reachability (passed | failed | initializing | insufficient-data).
+ //
+ // * instance-status.status - The status of the instance (ok | impaired |
+ // initializing | insufficient-data | not-applicable).
+ //
+ // * system-status.reachability - Filters on system status where the name
+ // is reachability (passed | failed | initializing | insufficient-data).
+ //
+ // * system-status.status - The system status of the instance (ok | impaired
+ // | initializing | insufficient-data | not-applicable).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // When true, includes the health status for all instances. When false, includes
+ // the health status for running instances only.
+ //
+ // Default: false
+ IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
+
+ // One or more instance IDs.
+ //
+ // Default: Describes all your instances.
+ //
+ // Constraints: Maximum 100 explicitly specified instance IDs.
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // 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"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceStatusInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
+ s.Filters = v
+ return s
+}
+
+// SetIncludeAllInstances sets the IncludeAllInstances field's value.
+func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
+ s.IncludeAllInstances = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
+ s.InstanceIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeInstanceStatus.
+type DescribeInstanceStatusOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more instance status descriptions.
+ InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" 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 DescribeInstanceStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceStatusOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceStatuses sets the InstanceStatuses field's value.
+func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
+ s.InstanceStatuses = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeInstances.
+type DescribeInstancesInput 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.
+ //
+ // * affinity - The affinity setting for an instance running on a Dedicated
+ // Host (default | host).
+ //
+ // * architecture - The instance architecture (i386 | x86_64).
+ //
+ // * availability-zone - The Availability Zone of the instance.
+ //
+ // * block-device-mapping.attach-time - The attach time for an EBS volume
+ // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
+ //
+ // * block-device-mapping.delete-on-termination - A Boolean that indicates
+ // whether the EBS volume is deleted on instance termination.
+ //
+ // * block-device-mapping.device-name - The device name specified in the
+ // block device mapping (for example, /dev/sdh or xvdh).
+ //
+ // * block-device-mapping.status - The status for the EBS volume (attaching
+ // | attached | detaching | detached).
+ //
+ // * block-device-mapping.volume-id - The volume ID of the EBS volume.
+ //
+ // * client-token - The idempotency token you provided when you launched
+ // the instance.
+ //
+ // * dns-name - The public DNS name of the instance.
+ //
+ // * group-id - The ID of the security group for the instance. EC2-Classic
+ // only.
+ //
+ // * group-name - The name of the security group for the instance. EC2-Classic
+ // only.
+ //
+ // * host-id - The ID of the Dedicated Host on which the instance is running,
+ // if applicable.
+ //
+ // * hypervisor - The hypervisor type of the instance (ovm | xen).
+ //
+ // * iam-instance-profile.arn - The instance profile associated with the
+ // instance. Specified as an ARN.
+ //
+ // * image-id - The ID of the image used to launch the instance.
+ //
+ // * instance-id - The ID of the instance.
+ //
+ // * instance-lifecycle - Indicates whether this is a Spot Instance or a
+ // Scheduled Instance (spot | scheduled).
+ //
+ // * instance-state-code - The state of the instance, as a 16-bit unsigned
+ // integer. The high byte is an opaque internal value and should be ignored.
+ // The low byte is set based on the state represented. The valid values are:
+ // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
+ // and 80 (stopped).
+ //
+ // * instance-state-name - The state of the instance (pending | running |
+ // shutting-down | terminated | stopping | stopped).
+ //
+ // * instance-type - The type of instance (for example, t2.micro).
+ //
+ // * instance.group-id - The ID of the security group for the instance.
+ //
+ // * instance.group-name - The name of the security group for the instance.
+ //
+ //
+ // * ip-address - The public IPv4 address of the instance.
+ //
+ // * kernel-id - The kernel ID.
+ //
+ // * key-name - The name of the key pair used when the instance was launched.
+ //
+ // * launch-index - When launching multiple instances, this is the index
+ // for the instance in the launch group (for example, 0, 1, 2, and so on).
+ //
+ //
+ // * launch-time - The time when the instance was launched.
+ //
+ // * monitoring-state - Indicates whether detailed monitoring is enabled
+ // (disabled | enabled).
+ //
+ // * network-interface.addresses.private-ip-address - The private IPv4 address
+ // associated with the network interface.
+ //
+ // * network-interface.addresses.primary - Specifies whether the IPv4 address
+ // of the network interface is the primary private IPv4 address.
+ //
+ // * network-interface.addresses.association.public-ip - The ID of the association
+ // of an Elastic IP address (IPv4) with a network interface.
+ //
+ // * network-interface.addresses.association.ip-owner-id - The owner ID of
+ // the private IPv4 address associated with the network interface.
+ //
+ // * network-interface.association.public-ip - The address of the Elastic
+ // IP address (IPv4) bound to the network interface.
+ //
+ // * network-interface.association.ip-owner-id - The owner of the Elastic
+ // IP address (IPv4) associated with the network interface.
+ //
+ // * network-interface.association.allocation-id - The allocation ID returned
+ // when you allocated the Elastic IP address (IPv4) for your network interface.
+ //
+ // * network-interface.association.association-id - The association ID returned
+ // when the network interface was associated with an IPv4 address.
+ //
+ // * network-interface.attachment.attachment-id - The ID of the interface
+ // attachment.
+ //
+ // * network-interface.attachment.instance-id - The ID of the instance to
+ // which the network interface is attached.
+ //
+ // * network-interface.attachment.instance-owner-id - The owner ID of the
+ // instance to which the network interface is attached.
+ //
+ // * network-interface.attachment.device-index - The device index to which
+ // the network interface is attached.
+ //
+ // * network-interface.attachment.status - The status of the attachment (attaching
+ // | attached | detaching | detached).
+ //
+ // * network-interface.attachment.attach-time - The time that the network
+ // interface was attached to an instance.
+ //
+ // * network-interface.attachment.delete-on-termination - Specifies whether
+ // the attachment is deleted when an instance is terminated.
+ //
+ // * network-interface.availability-zone - The Availability Zone for the
+ // network interface.
+ //
+ // * network-interface.description - The description of the network interface.
+ //
+ // * network-interface.group-id - The ID of a security group associated with
+ // the network interface.
+ //
+ // * network-interface.group-name - The name of a security group associated
+ // with the network interface.
+ //
+ // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
+ // with the network interface.
+ //
+ // * network-interface.mac-address - The MAC address of the network interface.
+ //
+ // * network-interface.network-interface-id - The ID of the network interface.
+ //
+ // * network-interface.owner-id - The ID of the owner of the network interface.
+ //
+ // * network-interface.private-dns-name - The private DNS name of the network
+ // interface.
+ //
+ // * network-interface.requester-id - The requester ID for the network interface.
+ //
+ // * network-interface.requester-managed - Indicates whether the network
+ // interface is being managed by AWS.
+ //
+ // * network-interface.status - The status of the network interface (available)
+ // | in-use).
+ //
+ // * network-interface.source-dest-check - Whether the network interface
+ // performs source/destination checking. A value of true means that checking
+ // is enabled, and false means that checking is disabled. The value must
+ // be false for the network interface to perform network address translation
+ // (NAT) in your VPC.
+ //
+ // * network-interface.subnet-id - The ID of the subnet for the network interface.
+ //
+ // * network-interface.vpc-id - The ID of the VPC for the network interface.
+ //
+ // * owner-id - The AWS account ID of the instance owner.
+ //
+ // * placement-group-name - The name of the placement group for the instance.
+ //
+ // * platform - The platform. Use windows if you have Windows instances;
+ // otherwise, leave blank.
+ //
+ // * private-dns-name - The private IPv4 DNS name of the instance.
+ //
+ // * private-ip-address - The private IPv4 address of the instance.
+ //
+ // * product-code - The product code associated with the AMI used to launch
+ // the instance.
+ //
+ // * product-code.type - The type of product code (devpay | marketplace).
+ //
+ // * ramdisk-id - The RAM disk ID.
+ //
+ // * reason - The reason for the current state of the instance (for example,
+ // shows "User Initiated [date]" when you stop or terminate the instance).
+ // Similar to the state-reason-code filter.
+ //
+ // * requester-id - The ID of the entity that launched the instance on your
+ // behalf (for example, AWS Management Console, Auto Scaling, and so on).
+ //
+ // * reservation-id - The ID of the instance's reservation. A reservation
+ // ID is created any time you launch an instance. A reservation ID has a
+ // one-to-one relationship with an instance launch request, but can be associated
+ // with more than one instance if you launch multiple instances using the
+ // same launch request. For example, if you launch one instance, you get
+ // one reservation ID. If you launch ten instances using the same launch
+ // request, you also get one reservation ID.
+ //
+ // * root-device-name - The device name of the root device volume (for example,
+ // /dev/sda1).
+ //
+ // * root-device-type - The type of the root device volume (ebs | instance-store).
+ //
+ // * source-dest-check - Indicates whether the instance performs source/destination
+ // checking. 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 network address translation (NAT) in your VPC.
+ //
+ // * spot-instance-request-id - The ID of the Spot Instance request.
+ //
+ // * state-reason-code - The reason code for the state change.
+ //
+ // * state-reason-message - A message that describes the state change.
+ //
+ // * subnet-id - The ID of the subnet for the instance.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * tenancy - The tenancy of an instance (dedicated | default | host).
+ //
+ // * virtualization-type - The virtualization type of the instance (paravirtual
+ // | hvm).
+ //
+ // * vpc-id - The ID of the VPC that the instance is running in.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more instance IDs.
+ //
+ // Default: Describes all your instances.
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // 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 `locationName:"maxResults" type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstancesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
+ s.Filters = v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeInstances.
+type DescribeInstancesOutput 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"`
+
+ // Zero or more reservations.
+ Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetReservations sets the Reservations field's value.
+func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
+ s.Reservations = v
+ return s
+}
+
+// Contains the parameters for DescribeInternetGateways.
+type DescribeInternetGatewaysInput 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.
+ //
+ // * attachment.state - The current state of the attachment between the gateway
+ // and the VPC (available). Present only if a VPC is attached.
+ //
+ // * attachment.vpc-id - The ID of an attached VPC.
+ //
+ // * internet-gateway-id - The ID of the Internet gateway.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more Internet gateway IDs.
+ //
+ // Default: Describes all your Internet gateways.
+ InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeInternetGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInternetGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
+ s.Filters = v
+ return s
+}
+
+// SetInternetGatewayIds sets the InternetGatewayIds field's value.
+func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
+ s.InternetGatewayIds = v
+ return s
+}
+
+// Contains the output of DescribeInternetGateways.
+type DescribeInternetGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more Internet gateways.
+ InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeInternetGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInternetGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetInternetGateways sets the InternetGateways field's value.
+func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
+ s.InternetGateways = v
+ return s
+}
+
+// Contains the parameters for DescribeKeyPairs.
+type DescribeKeyPairsInput 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.
+ //
+ // * fingerprint - The fingerprint of the key pair.
+ //
+ // * key-name - The name of the key pair.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more key pair names.
+ //
+ // Default: Describes all your key pairs.
+ KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeKeyPairsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeKeyPairsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
+ s.Filters = v
+ return s
+}
+
+// SetKeyNames sets the KeyNames field's value.
+func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
+ s.KeyNames = v
+ return s
+}
+
+// Contains the output of DescribeKeyPairs.
+type DescribeKeyPairsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more key pairs.
+ KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeKeyPairsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeKeyPairsOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyPairs sets the KeyPairs field's value.
+func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
+ s.KeyPairs = v
+ return s
+}
+
+type DescribeLaunchTemplateVersionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * create-time - The time the launch template version was created.
+ //
+ // * ebs-optimized - A boolean that indicates whether the instance is optimized
+ // for Amazon EBS I/O.
+ //
+ // * iam-instance-profile - The ARN of the IAM instance profile.
+ //
+ // * image-id - The ID of the AMI.
+ //
+ // * instance-type - The instance type.
+ //
+ // * is-default-version - A boolean that indicates whether the launch template
+ // version is the default version.
+ //
+ // * kernel-id - The kernel ID.
+ //
+ // * ram-disk-id - The RAM disk ID.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The ID of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateName *string `min:"3" type:"string"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. This
+ // value can be between 1 and 200.
+ MaxResults *int64 `type:"integer"`
+
+ // The version number up to which to describe launch template versions.
+ MaxVersion *string `type:"string"`
+
+ // The version number after which to describe launch template versions.
+ MinVersion *string `type:"string"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+
+ // One or more versions of the launch template.
+ Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeLaunchTemplateVersionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLaunchTemplateVersionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetMaxVersion sets the MaxVersion field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
+ s.MaxVersion = &v
+ return s
+}
+
+// SetMinVersion sets the MinVersion field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
+ s.MinVersion = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVersions sets the Versions field's value.
+func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
+ s.Versions = v
+ return s
+}
+
+type DescribeLaunchTemplateVersionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template versions.
+ LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" 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 DescribeLaunchTemplateVersionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
+func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
+ s.LaunchTemplateVersions = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLaunchTemplatesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * create-time - The time the launch template was created.
+ //
+ // * launch-template-name - The name of the launch template.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more launch template IDs.
+ LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
+
+ // One or more launch template names.
+ LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. This
+ // value can be between 5 and 1000.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLaunchTemplatesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLaunchTemplatesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
+ s.Filters = v
+ return s
+}
+
+// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
+func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
+ s.LaunchTemplateIds = v
+ return s
+}
+
+// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
+func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
+ s.LaunchTemplateNames = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLaunchTemplatesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch templates.
+ LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" 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 DescribeLaunchTemplatesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLaunchTemplatesOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplates sets the LaunchTemplates field's value.
+func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
+ s.LaunchTemplates = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeMovingAddresses.
+type DescribeMovingAddressesInput 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.
+ //
+ // * moving-status - The status of the Elastic IP address (MovingToVpc |
+ // RestoringToClassic).
+ 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 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 outside of this range, an error is returned.
+ //
+ // Default: If no value is provided, the default is 1000.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // One or more Elastic IP addresses.
+ PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeMovingAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeMovingAddressesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPublicIps sets the PublicIps field's value.
+func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
+ s.PublicIps = v
+ return s
+}
+
+// Contains the output of DescribeMovingAddresses.
+type DescribeMovingAddressesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The status for each Elastic IP address.
+ MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" 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 DescribeMovingAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeMovingAddressesOutput) GoString() string {
+ return s.String()
+}
+
+// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
+func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
+ s.MovingAddressStatuses = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeNatGateways.
+type DescribeNatGatewaysInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * nat-gateway-id - The ID of the NAT gateway.
+ //
+ // * state - The state of the NAT gateway (pending | failed | available |
+ // deleting | deleted).
+ //
+ // * subnet-id - The ID of the subnet in which the NAT gateway resides.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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 in which the NAT gateway resides.
+ Filter []*Filter `locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items 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.
+ //
+ // Constraint: If the value specified is greater than 1000, we return only 1000
+ // items.
+ MaxResults *int64 `type:"integer"`
+
+ // One or more NAT gateway IDs.
+ NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeNatGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNatGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// SetFilter sets the Filter field's value.
+func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
+ s.Filter = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNatGatewayIds sets the NatGatewayIds field's value.
+func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
+ s.NatGatewayIds = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeNatGateways.
+type DescribeNatGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the NAT gateways.
+ NatGateways []*NatGateway `locationName:"natGatewaySet" 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 DescribeNatGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNatGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetNatGateways sets the NatGateways field's value.
+func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
+ s.NatGateways = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeNetworkAcls.
+type DescribeNetworkAclsInput 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.
+ //
+ // * association.association-id - The ID of an association ID for the ACL.
+ //
+ // * association.network-acl-id - The ID of the network ACL involved in the
+ // association.
+ //
+ // * association.subnet-id - The ID of the subnet involved in the association.
+ //
+ // * default - Indicates whether the ACL is the default network ACL for the
+ // VPC.
+ //
+ // * entry.cidr - The IPv4 CIDR range specified in the entry.
+ //
+ // * entry.egress - Indicates whether the entry applies to egress traffic.
+ //
+ // * entry.icmp.code - The ICMP code specified in the entry, if any.
+ //
+ // * entry.icmp.type - The ICMP type specified in the entry, if any.
+ //
+ // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
+ //
+ // * entry.port-range.from - The start of the port range specified in the
+ // entry.
+ //
+ // * entry.port-range.to - The end of the port range specified in the entry.
+ //
+ //
+ // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
+ // or a protocol number).
+ //
+ // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
+ //
+ // * entry.rule-number - The number of an entry (in other words, rule) in
+ // the ACL's set of entries.
+ //
+ // * network-acl-id - The ID of the network ACL.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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 for the network ACL.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more network ACL IDs.
+ //
+ // Default: Describes all your network ACLs.
+ NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkAclsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkAclsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
+ s.Filters = v
+ return s
+}
+
+// SetNetworkAclIds sets the NetworkAclIds field's value.
+func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
+ s.NetworkAclIds = v
+ return s
+}
+
+// Contains the output of DescribeNetworkAcls.
+type DescribeNetworkAclsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more network ACLs.
+ NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkAclsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkAclsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkAcls sets the NetworkAcls field's value.
+func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
+ s.NetworkAcls = v
+ return s
+}
+
+// Contains the parameters for DescribeNetworkInterfaceAttribute.
+type DescribeNetworkInterfaceAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute of the network interface. This parameter is required.
+ Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
+
+ // 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"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// Contains the output of DescribeNetworkInterfaceAttribute.
+type DescribeNetworkInterfaceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The attachment (if any) of the network interface.
+ Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The description of the network interface.
+ Description *AttributeValue `locationName:"description" type:"structure"`
+
+ // The security groups associated with the network interface.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // Indicates whether source/destination checking is enabled.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetAttachment sets the Attachment field's value.
+func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
+ s.Attachment = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
+ s.Description = v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
+ s.Groups = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
+ s.SourceDestCheck = v
+ return s
+}
+
+// Contains the parameters for DescribeNetworkInterfacePermissions.
+type DescribeNetworkInterfacePermissionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * network-interface-permission.network-interface-permission-id - The ID
+ // of the permission.
+ //
+ // * network-interface-permission.network-interface-id - The ID of the network
+ // interface.
+ //
+ // * network-interface-permission.aws-account-id - The AWS account ID.
+ //
+ // * network-interface-permission.aws-service - The AWS service.
+ //
+ // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
+ // | EIP-ASSOCIATE).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. If
+ // this parameter is not specified, up to 50 results are returned by default.
+ MaxResults *int64 `type:"integer"`
+
+ // One or more network interface permission IDs.
+ NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacePermissionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
+ s.NetworkInterfacePermissionIds = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output for DescribeNetworkInterfacePermissions.
+type DescribeNetworkInterfacePermissionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The network interface permissions.
+ NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacePermissionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
+func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
+ s.NetworkInterfacePermissions = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeNetworkInterfaces.
+type DescribeNetworkInterfacesInput 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.
+ //
+ // * addresses.private-ip-address - The private IPv4 addresses associated
+ // with the network interface.
+ //
+ // * addresses.primary - Whether the private IPv4 address is the primary
+ // IP address associated with the network interface.
+ //
+ // * addresses.association.public-ip - The association ID returned when the
+ // network interface was associated with the Elastic IP address (IPv4).
+ //
+ // * addresses.association.owner-id - The owner ID of the addresses associated
+ // with the network interface.
+ //
+ // * association.association-id - The association ID returned when the network
+ // interface was associated with an IPv4 address.
+ //
+ // * association.allocation-id - The allocation ID returned when you allocated
+ // the Elastic IP address (IPv4) for your network interface.
+ //
+ // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
+ // associated with the network interface.
+ //
+ // * association.public-ip - The address of the Elastic IP address (IPv4)
+ // bound to the network interface.
+ //
+ // * association.public-dns-name - The public DNS name for the network interface
+ // (IPv4).
+ //
+ // * attachment.attachment-id - The ID of the interface attachment.
+ //
+ // * attachment.attach.time - The time that the network interface was attached
+ // to an instance.
+ //
+ // * attachment.delete-on-termination - Indicates whether the attachment
+ // is deleted when an instance is terminated.
+ //
+ // * attachment.device-index - The device index to which the network interface
+ // is attached.
+ //
+ // * attachment.instance-id - The ID of the instance to which the network
+ // interface is attached.
+ //
+ // * attachment.instance-owner-id - The owner ID of the instance to which
+ // the network interface is attached.
+ //
+ // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
+ // interface is attached.
+ //
+ // * attachment.status - The status of the attachment (attaching | attached
+ // | detaching | detached).
+ //
+ // * availability-zone - The Availability Zone of the network interface.
+ //
+ // * description - The description of the network interface.
+ //
+ // * group-id - The ID of a security group associated with the network interface.
+ //
+ // * group-name - The name of a security group associated with the network
+ // interface.
+ //
+ // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
+ // interface.
+ //
+ // * mac-address - The MAC address of the network interface.
+ //
+ // * network-interface-id - The ID of the network interface.
+ //
+ // * owner-id - The AWS account ID of the network interface owner.
+ //
+ // * private-ip-address - The private IPv4 address or addresses of the network
+ // interface.
+ //
+ // * private-dns-name - The private DNS name of the network interface (IPv4).
+ //
+ // * requester-id - The ID of the entity that launched the instance on your
+ // behalf (for example, AWS Management Console, Auto Scaling, and so on).
+ //
+ // * requester-managed - Indicates whether the network interface is being
+ // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
+ // and so on).
+ //
+ // * source-desk-check - Indicates whether the network interface performs
+ // source/destination checking. A value of true means checking is enabled,
+ // and false means checking is disabled. The value must be false for the
+ // network interface to perform network address translation (NAT) in your
+ // VPC.
+ //
+ // * status - The status of the network interface. If the network interface
+ // is not attached to an instance, the status is available; if a network
+ // interface is attached to an instance the status is in-use.
+ //
+ // * subnet-id - The ID of the subnet for the network interface.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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 for the network interface.
+ Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
+
+ // One or more network interface IDs.
+ //
+ // Default: Describes all your network interfaces.
+ NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
+ s.Filters = v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// Contains the output of DescribeNetworkInterfaces.
+type DescribeNetworkInterfacesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more network interfaces.
+ NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// Contains the parameters for DescribePlacementGroups.
+type DescribePlacementGroupsInput 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-name - The name of the placement group.
+ //
+ // * state - The state of the placement group (pending | available | deleting
+ // | deleted).
+ //
+ // * strategy - The strategy of the placement group (cluster | spread).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more placement group names.
+ //
+ // Default: Describes all your placement groups, or only those otherwise specified.
+ GroupNames []*string `locationName:"groupName" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePlacementGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePlacementGroupsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
+ s.Filters = v
+ return s
+}
+
+// SetGroupNames sets the GroupNames field's value.
+func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
+ s.GroupNames = v
+ return s
+}
+
+// Contains the output of DescribePlacementGroups.
+type DescribePlacementGroupsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more placement groups.
+ PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePlacementGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePlacementGroupsOutput) GoString() string {
+ return s.String()
+}
+
+// SetPlacementGroups sets the PlacementGroups field's value.
+func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
+ s.PlacementGroups = v
+ return s
+}
+
+// Contains the parameters for DescribePrefixLists.
+type DescribePrefixListsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * prefix-list-id: The ID of a prefix list.
+ //
+ // * prefix-list-name: The name of a prefix list.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items 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.
+ //
+ // Constraint: If the value specified is greater than 1000, we return only 1000
+ // items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ // One or more prefix list IDs.
+ PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePrefixListsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrefixListsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPrefixListIds sets the PrefixListIds field's value.
+func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
+ s.PrefixListIds = v
+ return s
+}
+
+// Contains the output of DescribePrefixLists.
+type DescribePrefixListsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // All available prefix lists.
+ PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePrefixListsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrefixListsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPrefixLists sets the PrefixLists field's value.
+func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
+ s.PrefixLists = v
+ return s
+}
+
+type DescribePrincipalIdFormatInput 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 in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+
+ // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
+ // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
+ // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
+ // | network-interface | network-interface-attachment | prefix-list | reservation
+ // | route-table | route-table-association | security-group | snapshot | subnet
+ // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
+ // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
+ Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePrincipalIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrincipalIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetResources sets the Resources field's value.
+func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
+ s.Resources = v
+ return s
+}
+
+type DescribePrincipalIdFormatOutput 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 ID format settings for the ARN.
+ Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribePrincipalIdFormatOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrincipalIdFormatOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPrincipals sets the Principals field's value.
+func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
+ s.Principals = v
+ return s
+}
+
+// Contains the parameters for DescribeRegions.
+type DescribeRegionsInput 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.
+ //
+ // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
+ //
+ // * region-name - The name of the region (for example, us-east-1).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The names of one or more regions.
+ RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeRegionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRegionsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetRegionNames sets the RegionNames field's value.
+func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
+ s.RegionNames = v
+ return s
+}
+
+// Contains the output of DescribeRegions.
+type DescribeRegionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more regions.
+ Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeRegionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRegionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetRegions sets the Regions field's value.
+func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
+ s.Regions = v
+ return s
+}
+
+// Contains the parameters for DescribeReservedInstances.
+type DescribeReservedInstancesInput 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.
+ //
+ // * availability-zone - The Availability Zone where the Reserved Instance
+ // can be used.
+ //
+ // * duration - The duration of the Reserved Instance (one year or three
+ // years), in seconds (31536000 | 94608000).
+ //
+ // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
+ //
+ // * fixed-price - The purchase price of the Reserved Instance (for example,
+ // 9800.0).
+ //
+ // * instance-type - The instance type that is covered by the reservation.
+ //
+ // * scope - The scope of the Reserved Instance (Region or Availability Zone).
+ //
+ // * product-description - The Reserved Instance product platform description.
+ // Instances that include (Amazon VPC) in the product platform description
+ // will only be displayed to EC2-Classic account holders and are for use
+ // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
+ // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
+ // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
+ // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
+ // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
+ // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
+ //
+ // * reserved-instances-id - The ID of the Reserved Instance.
+ //
+ // * start - The time at which the Reserved Instance purchase request was
+ // placed (for example, 2014-08-07T11:54:42.000Z).
+ //
+ // * state - The state of the Reserved Instance (payment-pending | active
+ // | payment-failed | retired).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * usage-price - The usage price of the Reserved Instance, per hour (for
+ // example, 0.84).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // Describes whether the Reserved Instance is Standard or Convertible.
+ OfferingClass *string `type:"string" enum:"OfferingClassType"`
+
+ // The Reserved Instance offering type. If you are using tools that predate
+ // the 2011-11-01 API version, you only have access to the Medium Utilization
+ // Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // One or more Reserved Instance IDs.
+ //
+ // Default: Describes all your Reserved Instances, or only those otherwise specified.
+ ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
+ s.Filters = v
+ return s
+}
+
+// SetOfferingClass sets the OfferingClass field's value.
+func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
+ s.OfferingClass = &v
+ return s
+}
+
+// SetOfferingType sets the OfferingType field's value.
+func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
+ s.OfferingType = &v
+ return s
+}
+
+// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
+func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
+ s.ReservedInstancesIds = v
+ return s
+}
+
+// Contains the parameters for DescribeReservedInstancesListings.
+type DescribeReservedInstancesListingsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * reserved-instances-id - The ID of the Reserved Instances.
+ //
+ // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
+ //
+ // * status - The status of the Reserved Instance listing (pending | active
+ // | cancelled | closed).
+ //
+ // * status-message - The reason for the status.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more Reserved Instance IDs.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+
+ // One or more Reserved Instance listing IDs.
+ ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesListingsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesListingsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
+ s.Filters = v
+ return s
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
+func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
+ s.ReservedInstancesListingId = &v
+ return s
+}
+
+// Contains the output of DescribeReservedInstancesListings.
+type DescribeReservedInstancesListingsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Reserved Instance listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesListingsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesListingsOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
+func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
+ s.ReservedInstancesListings = v
+ return s
+}
+
+// Contains the parameters for DescribeReservedInstancesModifications.
+type DescribeReservedInstancesModificationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * client-token - The idempotency token for the modification request.
+ //
+ // * create-date - The time when the modification request was created.
+ //
+ // * effective-date - The time when the modification becomes effective.
+ //
+ // * modification-result.reserved-instances-id - The ID for the Reserved
+ // Instances created as part of the modification request. This ID is only
+ // available when the status of the modification is fulfilled.
+ //
+ // * modification-result.target-configuration.availability-zone - The Availability
+ // Zone for the new Reserved Instances.
+ //
+ // * modification-result.target-configuration.instance-count - The number
+ // of new Reserved Instances.
+ //
+ // * modification-result.target-configuration.instance-type - The instance
+ // type of the new Reserved Instances.
+ //
+ // * modification-result.target-configuration.platform - The network platform
+ // of the new Reserved Instances (EC2-Classic | EC2-VPC).
+ //
+ // * reserved-instances-id - The ID of the Reserved Instances modified.
+ //
+ // * reserved-instances-modification-id - The ID of the modification request.
+ //
+ // * status - The status of the Reserved Instances modification request (processing
+ // | fulfilled | failed).
+ //
+ // * status-message - The reason for the status.
+ //
+ // * update-date - The time when the modification request was last updated.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // IDs for the submitted modification request.
+ ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesModificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesModificationsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
+func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
+ s.ReservedInstancesModificationIds = v
+ return s
+}
+
+// Contains the output of DescribeReservedInstancesModifications.
+type DescribeReservedInstancesModificationsOutput 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 Reserved Instance modification information.
+ ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesModificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesModificationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
+func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
+ s.ReservedInstancesModifications = v
+ return s
+}
+
+// Contains the parameters for DescribeReservedInstancesOfferings.
+type DescribeReservedInstancesOfferingsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *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 `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone where the Reserved Instance
+ // can be used.
+ //
+ // * duration - The duration of the Reserved Instance (for example, one year
+ // or three years), in seconds (31536000 | 94608000).
+ //
+ // * fixed-price - The purchase price of the Reserved Instance (for example,
+ // 9800.0).
+ //
+ // * instance-type - The instance type that is covered by the reservation.
+ //
+ // * marketplace - Set to true to show only Reserved Instance Marketplace
+ // offerings. When this filter is not used, which is the default behavior,
+ // all offerings from both AWS and the Reserved Instance Marketplace are
+ // listed.
+ //
+ // * product-description - The Reserved Instance product platform description.
+ // Instances that include (Amazon VPC) in the product platform description
+ // will only be displayed to EC2-Classic account holders and are for use
+ // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
+ // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
+ // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
+ // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
+ // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
+ // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
+ // VPC))
+ //
+ // * reserved-instances-offering-id - The Reserved Instances offering ID.
+ //
+ // * scope - The scope of the Reserved Instance (Availability Zone or Region).
+ //
+ // * usage-price - The usage price of the Reserved Instance, per hour (for
+ // example, 0.84).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // Include Reserved Instance Marketplace offerings in the response.
+ IncludeMarketplace *bool `type:"boolean"`
+
+ // The tenancy of the instances covered by the reservation. A Reserved Instance
+ // with a tenancy of dedicated is applied to instances that run in a VPC on
+ // single-tenant hardware (i.e., Dedicated Instances).
+ //
+ // Important: The host value cannot be used with this parameter. Use the default
+ // or dedicated values only.
+ //
+ // Default: default
+ 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ InstanceType *string `type:"string" enum:"InstanceType"`
+
+ // The maximum duration (in seconds) to filter when searching for offerings.
+ //
+ // Default: 94608000 (3 years)
+ MaxDuration *int64 `type:"long"`
+
+ // The maximum number of instances to filter when searching for offerings.
+ //
+ // Default: 20
+ MaxInstanceCount *int64 `type:"integer"`
+
+ // 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. The maximum is 100.
+ //
+ // Default: 100
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The minimum duration (in seconds) to filter when searching for offerings.
+ //
+ // Default: 2592000 (1 month)
+ MinDuration *int64 `type:"long"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The offering class of the Reserved Instance. Can be standard or convertible.
+ OfferingClass *string `type:"string" enum:"OfferingClassType"`
+
+ // The Reserved Instance offering type. If you are using tools that predate
+ // the 2011-11-01 API version, you only have access to the Medium Utilization
+ // Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The Reserved Instance product platform description. Instances that include
+ // (Amazon VPC) in the description are for use with Amazon VPC.
+ ProductDescription *string `type:"string" enum:"RIProductDescription"`
+
+ // One or more Reserved Instances offering IDs.
+ ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOfferingsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOfferingsInput) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
+ s.Filters = v
+ return s
+}
+
+// SetIncludeMarketplace sets the IncludeMarketplace field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
+ s.IncludeMarketplace = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMaxDuration sets the MaxDuration field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
+ s.MaxDuration = &v
+ return s
+}
+
+// SetMaxInstanceCount sets the MaxInstanceCount field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
+ s.MaxInstanceCount = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetMinDuration sets the MinDuration field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
+ s.MinDuration = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOfferingClass sets the OfferingClass field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
+ s.OfferingClass = &v
+ return s
+}
+
+// SetOfferingType sets the OfferingType field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
+ s.OfferingType = &v
+ return s
+}
+
+// SetProductDescription sets the ProductDescription field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
+ s.ProductDescription = &v
+ return s
+}
+
+// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
+func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
+ s.ReservedInstancesOfferingIds = v
+ return s
+}
+
+// Contains the output of DescribeReservedInstancesOfferings.
+type DescribeReservedInstancesOfferingsOutput 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 list of Reserved Instances offerings.
+ ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOfferingsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
+func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
+ s.ReservedInstancesOfferings = v
+ return s
+}
+
+// Contains the output for DescribeReservedInstances.
+type DescribeReservedInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of Reserved Instances.
+ ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstances sets the ReservedInstances field's value.
+func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
+ s.ReservedInstances = v
+ return s
+}
+
+// Contains the parameters for DescribeRouteTables.
+type DescribeRouteTablesInput 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.
+ //
+ // * association.route-table-association-id - The ID of an association ID
+ // for the route table.
+ //
+ // * association.route-table-id - The ID of the route table involved in the
+ // association.
+ //
+ // * association.subnet-id - The ID of the subnet involved in the association.
+ //
+ // * association.main - Indicates whether the route table is the main route
+ // table for the VPC (true | false). Route tables that do not have an association
+ // ID are not returned in the response.
+ //
+ // * route-table-id - The ID of the route table.
+ //
+ // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
+ // in the table.
+ //
+ // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
+ // a route in the route table.
+ //
+ // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
+ // specified in a route in the table.
+ //
+ // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
+ // gateway specified in a route in the route table.
+ //
+ // * route.gateway-id - The ID of a gateway specified in a route in the table.
+ //
+ // * route.instance-id - The ID of an instance specified in a route in the
+ // table.
+ //
+ // * route.nat-gateway-id - The ID of a NAT gateway.
+ //
+ // * route.origin - Describes how the route was created. CreateRouteTable
+ // indicates that the route was automatically created when the route table
+ // was created; CreateRoute indicates that the route was manually added to
+ // the route table; EnableVgwRoutePropagation indicates that the route was
+ // propagated by route propagation.
+ //
+ // * route.state - The state of a route in the route table (active | blackhole).
+ // The blackhole state indicates that the route's target isn't available
+ // (for example, the specified gateway isn't attached to the VPC, the specified
+ // NAT instance has been terminated, and so on).
+ //
+ // * route.vpc-peering-connection-id - The ID of a VPC peering connection
+ // specified in a route in the table.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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 for the route table.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more route table IDs.
+ //
+ // Default: Describes all your route tables.
+ RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeRouteTablesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRouteTablesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
+ s.Filters = v
+ return s
+}
+
+// SetRouteTableIds sets the RouteTableIds field's value.
+func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
+ s.RouteTableIds = v
+ return s
+}
+
+// Contains the output of DescribeRouteTables.
+type DescribeRouteTablesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more route tables.
+ RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeRouteTablesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRouteTablesOutput) GoString() string {
+ return s.String()
+}
+
+// SetRouteTables sets the RouteTables field's value.
+func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
+ s.RouteTables = v
+ return s
+}
+
+// Contains the parameters for DescribeScheduledInstanceAvailability.
+type DescribeScheduledInstanceAvailabilityInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone (for example, us-west-2a).
+ //
+ // * instance-type - The instance type (for example, c4.large).
+ //
+ // * network-platform - The network platform (EC2-Classic or EC2-VPC).
+ //
+ // * platform - The platform (Linux/UNIX or Windows).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The time period for the first schedule to start.
+ //
+ // FirstSlotStartTimeRange is a required field
+ FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
+
+ // The maximum number of results to return in a single call. This value can
+ // be between 5 and 300. The default value is 300. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The maximum available duration, in hours. This value must be greater than
+ // MinSlotDurationInHours and less than 1,720.
+ MaxSlotDurationInHours *int64 `type:"integer"`
+
+ // The minimum available duration, in hours. The minimum required duration is
+ // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
+ // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
+ // is 100 hours.
+ MinSlotDurationInHours *int64 `type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `type:"string"`
+
+ // The schedule recurrence.
+ //
+ // Recurrence is a required field
+ Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeScheduledInstanceAvailabilityInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
+ if s.FirstSlotStartTimeRange == nil {
+ invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
+ }
+ if s.Recurrence == nil {
+ invalidParams.Add(request.NewErrParamRequired("Recurrence"))
+ }
+ if s.FirstSlotStartTimeRange != nil {
+ if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
+ invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
+ s.Filters = v
+ return s
+}
+
+// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
+ s.FirstSlotStartTimeRange = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
+ s.MaxSlotDurationInHours = &v
+ return s
+}
+
+// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
+ s.MinSlotDurationInHours = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetRecurrence sets the Recurrence field's value.
+func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
+ s.Recurrence = v
+ return s
+}
+
+// Contains the output of DescribeScheduledInstanceAvailability.
+type DescribeScheduledInstanceAvailabilityOutput struct {
+ _ struct{} `type:"structure"`
+
+ // 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"`
+
+ // Information about the available Scheduled Instances.
+ ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
+func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
+ s.ScheduledInstanceAvailabilitySet = v
+ return s
+}
+
+// Contains the parameters for DescribeScheduledInstances.
+type DescribeScheduledInstancesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone (for example, us-west-2a).
+ //
+ // * instance-type - The instance type (for example, c4.large).
+ //
+ // * network-platform - The network platform (EC2-Classic or EC2-VPC).
+ //
+ // * platform - The platform (Linux/UNIX or Windows).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. This value can
+ // be between 5 and 300. The default value is 100. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `type:"string"`
+
+ // One or more Scheduled Instance IDs.
+ ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
+
+ // The time period for the first schedule to start.
+ SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeScheduledInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeScheduledInstancesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
+func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
+ s.ScheduledInstanceIds = v
+ return s
+}
+
+// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
+func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
+ s.SlotStartTimeRange = v
+ return s
+}
+
+// Contains the output of DescribeScheduledInstances.
+type DescribeScheduledInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // 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"`
+
+ // Information about the Scheduled Instances.
+ ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeScheduledInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeScheduledInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
+func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
+ s.ScheduledInstanceSet = v
+ return s
+}
+
+type DescribeSecurityGroupReferencesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the operation, 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 security group IDs in your account.
+ //
+ // GroupId is a required field
+ GroupId []*string `locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupReferencesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupReferencesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeSecurityGroupReferencesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
+ if s.GroupId == nil {
+ invalidParams.Add(request.NewErrParamRequired("GroupId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
+ s.GroupId = v
+ return s
+}
+
+type DescribeSecurityGroupReferencesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPCs with the referencing security groups.
+ SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupReferencesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupReferencesOutput) GoString() string {
+ return s.String()
+}
+
+// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
+func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
+ s.SecurityGroupReferenceSet = v
+ return s
+}
+
+// Contains the parameters for DescribeSecurityGroups.
+type DescribeSecurityGroupsInput 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. If using multiple filters for rules, the results include
+ // security groups for which any combination of rules - not necessarily a single
+ // rule - match all filters.
+ //
+ // * description - The description of the security group.
+ //
+ // * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
+ // group rule.
+ //
+ // * egress.ip-permission.from-port - For an outbound rule, the start of
+ // port range for the TCP and UDP protocols, or an ICMP type number.
+ //
+ // * egress.ip-permission.group-id - The ID of a security group that has
+ // been referenced in an outbound security group rule.
+ //
+ // * egress.ip-permission.group-name - The name of a security group that
+ // has been referenced in an outbound security group rule.
+ //
+ // * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
+ // security group rule.
+ //
+ // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
+ // to which a security group rule allows outbound access.
+ //
+ // * egress.ip-permission.protocol - The IP protocol for an outbound security
+ // group rule (tcp | udp | icmp or a protocol number).
+ //
+ // * egress.ip-permission.to-port - For an outbound rule, the end of port
+ // range for the TCP and UDP protocols, or an ICMP code.
+ //
+ // * egress.ip-permission.user-id - The ID of an AWS account that has been
+ // referenced in an outbound security group rule.
+ //
+ // * group-id - The ID of the security group.
+ //
+ // * group-name - The name of the security group.
+ //
+ // * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
+ // rule.
+ //
+ // * ip-permission.from-port - For an inbound rule, the start of port range
+ // for the TCP and UDP protocols, or an ICMP type number.
+ //
+ // * ip-permission.group-id - The ID of a security group that has been referenced
+ // in an inbound security group rule.
+ //
+ // * ip-permission.group-name - The name of a security group that has been
+ // referenced in an inbound security group rule.
+ //
+ // * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
+ // group rule.
+ //
+ // * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
+ // which a security group rule allows inbound access.
+ //
+ // * ip-permission.protocol - The IP protocol for an inbound security group
+ // rule (tcp | udp | icmp or a protocol number).
+ //
+ // * ip-permission.to-port - For an inbound rule, the end of port range for
+ // the TCP and UDP protocols, or an ICMP code.
+ //
+ // * ip-permission.user-id - The ID of an AWS account that has been referenced
+ // in an inbound security group rule.
+ //
+ // * owner-id - The AWS account ID of the owner of the security group.
+ //
+ // * 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 specified when the security group was created.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more security group IDs. Required for security groups in a nondefault
+ // VPC.
+ //
+ // Default: Describes all your security groups.
+ GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
+
+ // [EC2-Classic and default VPC only] One or more security group names. You
+ // can specify either the security group name or the security group ID. For
+ // security groups in a nondefault VPC, use the group-name filter to describe
+ // security groups by name.
+ //
+ // Default: Describes all your security groups.
+ GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another request with the returned NextToken value.
+ // This value can be between 5 and 1000. If this parameter is not specified,
+ // then all results are returned.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
+ s.Filters = v
+ return s
+}
+
+// SetGroupIds sets the GroupIds field's value.
+func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
+ s.GroupIds = v
+ return s
+}
+
+// SetGroupNames sets the GroupNames field's value.
+func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
+ s.GroupNames = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeSecurityGroups.
+type DescribeSecurityGroupsOutput 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 one or more security groups.
+ SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
+ s.SecurityGroups = v
+ return s
+}
+
+// Contains the parameters for DescribeSnapshotAttribute.
+type DescribeSnapshotAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The snapshot attribute you would like to view.
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
+
+ // 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"`
+
+ // The ID of the EBS snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeSnapshotAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
+ s.SnapshotId = &v
+ return s
+}
+
+// Contains the output of DescribeSnapshotAttribute.
+type DescribeSnapshotAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of permissions for creating volumes from the snapshot.
+ CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The ID of the EBS snapshot.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
+func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
+ s.CreateVolumePermissions = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
+ s.SnapshotId = &v
+ return s
+}
+
+// Contains the parameters for DescribeSnapshots.
+type DescribeSnapshotsInput 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.
+ //
+ // * description - A description of the snapshot.
+ //
+ // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
+ // | microsoft) of snapshot owners. Not to be confused with the user-configured
+ // AWS account alias, which is set from the IAM console.
+ //
+ // * owner-id - The ID of the AWS account that owns the snapshot.
+ //
+ // * progress - The progress of the snapshot, as a percentage (for example,
+ // 80%).
+ //
+ // * snapshot-id - The snapshot ID.
+ //
+ // * start-time - The time stamp when the snapshot was initiated.
+ //
+ // * status - The status of the snapshot (pending | completed | error).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * volume-id - The ID of the volume the snapshot is for.
+ //
+ // * volume-size - The size of the volume, in GiB.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of snapshot results returned by DescribeSnapshots in paginated
+ // output. When this parameter is used, DescribeSnapshots 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 DescribeSnapshots
+ // 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. If this parameter is not used, then DescribeSnapshots returns
+ // all results. You cannot specify this parameter and the snapshot IDs parameter
+ // in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The NextToken value returned from a previous paginated DescribeSnapshots
+ // request where MaxResults was used and the results exceeded the value of that
+ // parameter. Pagination continues from the end of the previous results that
+ // returned the NextToken value. This value is null when there are no more results
+ // to return.
+ NextToken *string `type:"string"`
+
+ // Returns the snapshots owned by the specified owner. Multiple owners can be
+ // specified.
+ OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+
+ // One or more AWS accounts IDs that can create volumes from the snapshot.
+ RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
+
+ // One or more snapshot IDs.
+ //
+ // Default: Describes snapshots for which you have launch permissions.
+ SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOwnerIds sets the OwnerIds field's value.
+func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
+ s.OwnerIds = v
+ return s
+}
+
+// SetRestorableByUserIds sets the RestorableByUserIds field's value.
+func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
+ s.RestorableByUserIds = v
+ return s
+}
+
+// SetSnapshotIds sets the SnapshotIds field's value.
+func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
+ s.SnapshotIds = v
+ return s
+}
+
+// Contains the output of DescribeSnapshots.
+type DescribeSnapshotsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The NextToken value to include in a future DescribeSnapshots request. When
+ // the results of a DescribeSnapshots request exceed MaxResults, this value
+ // can be used 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 snapshots.
+ Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSnapshots sets the Snapshots field's value.
+func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
+ s.Snapshots = v
+ return s
+}
+
+// Contains the parameters for DescribeSpotDatafeedSubscription.
+type DescribeSpotDatafeedSubscriptionInput 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"`
+}
+
+// String returns the string representation
+func (s DescribeSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of DescribeSpotDatafeedSubscription.
+type DescribeSpotDatafeedSubscriptionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Spot Instance data feed subscription.
+ SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
+func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
+ s.SpotDatafeedSubscription = v
+ return s
+}
+
+// Contains the parameters for DescribeSpotFleetInstances.
+type DescribeSpotFleetInstancesInput 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"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ 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"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeSpotFleetInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
+ if s.SpotFleetRequestId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// Contains the output of DescribeSpotFleetInstances.
+type DescribeSpotFleetInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // 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"`
+
+ // 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"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetActiveInstances sets the ActiveInstances field's value.
+func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
+ s.ActiveInstances = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// Contains the parameters for DescribeSpotFleetRequestHistory.
+type DescribeSpotFleetRequestHistoryInput 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"`
+
+ // The type of events to describe. By default, all events are described.
+ EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ 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"`
+
+ // 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" timestampFormat:"iso8601" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestHistoryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
+ if s.SpotFleetRequestId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
+ }
+ if s.StartTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("StartTime"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
+ s.EventType = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
+ s.StartTime = &v
+ return s
+}
+
+// Contains the output of DescribeSpotFleetRequestHistory.
+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"`
+
+ // 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" timestampFormat:"iso8601" required:"true"`
+
+ // 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"`
+
+ // 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" timestampFormat:"iso8601" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestHistoryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
+ return s.String()
+}
+
+// SetHistoryRecords sets the HistoryRecords field's value.
+func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
+ s.HistoryRecords = v
+ return s
+}
+
+// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
+func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
+ s.LastEvaluatedTime = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
+ s.StartTime = &v
+ return s
+}
+
+// Contains the parameters for DescribeSpotFleetRequests.
+type DescribeSpotFleetRequestsInput 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"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The IDs of the Spot Fleet requests.
+ SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
+func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
+ s.SpotFleetRequestIds = v
+ return s
+}
+
+// Contains the output of DescribeSpotFleetRequests.
+type DescribeSpotFleetRequestsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // 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"`
+
+ // Information about the configuration of your Spot Fleet.
+ //
+ // SpotFleetRequestConfigs is a required field
+ SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
+func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
+ s.SpotFleetRequestConfigs = v
+ return s
+}
+
+// Contains the parameters for DescribeSpotInstanceRequests.
+type DescribeSpotInstanceRequestsInput 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.
+ //
+ // * availability-zone-group - The Availability Zone group.
+ //
+ // * create-time - The time stamp when the Spot Instance request was created.
+ //
+ // * fault-code - The fault code related to the request.
+ //
+ // * fault-message - The fault message related to the request.
+ //
+ // * instance-id - The ID of the instance that fulfilled the request.
+ //
+ // * launch-group - The Spot Instance launch group.
+ //
+ // * launch.block-device-mapping.delete-on-termination - Indicates whether
+ // the EBS volume is deleted on instance termination.
+ //
+ // * launch.block-device-mapping.device-name - The device name for the volume
+ // in the block device mapping (for example, /dev/sdh or xvdh).
+ //
+ // * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
+ // the EBS volume.
+ //
+ // * launch.block-device-mapping.volume-size - The size of the EBS volume,
+ // in GiB.
+ //
+ // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
+ // for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
+ // Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
+ //
+ // * launch.group-id - The ID of the security group for the instance.
+ //
+ // * launch.group-name - The name of the security group for the instance.
+ //
+ // * launch.image-id - The ID of the AMI.
+ //
+ // * launch.instance-type - The type of instance (for example, m3.medium).
+ //
+ // * launch.kernel-id - The kernel ID.
+ //
+ // * launch.key-name - The name of the key pair the instance launched with.
+ //
+ // * launch.monitoring-enabled - Whether detailed monitoring is enabled for
+ // the Spot Instance.
+ //
+ // * launch.ramdisk-id - The RAM disk ID.
+ //
+ // * launched-availability-zone - The Availability Zone in which the request
+ // is launched.
+ //
+ // * network-interface.addresses.primary - Indicates whether the IP address
+ // is the primary private IP address.
+ //
+ // * network-interface.delete-on-termination - Indicates whether the network
+ // interface is deleted when the instance is terminated.
+ //
+ // * network-interface.description - A description of the network interface.
+ //
+ // * network-interface.device-index - The index of the device for the network
+ // interface attachment on the instance.
+ //
+ // * network-interface.group-id - The ID of the security group associated
+ // with the network interface.
+ //
+ // * network-interface.network-interface-id - The ID of the network interface.
+ //
+ // * network-interface.private-ip-address - The primary private IP address
+ // of the network interface.
+ //
+ // * network-interface.subnet-id - The ID of the subnet for the instance.
+ //
+ // * product-description - The product description associated with the instance
+ // (Linux/UNIX | Windows).
+ //
+ // * spot-instance-request-id - The Spot Instance request ID.
+ //
+ // * spot-price - The maximum hourly price for any Spot Instance launched
+ // to fulfill the request.
+ //
+ // * 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)
+ // in the Amazon EC2 User Guide for Linux Instances.
+ //
+ // * status-code - The short code describing the most recent evaluation of
+ // your Spot Instance request.
+ //
+ // * status-message - The message explaining the status of the Spot Instance
+ // request.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * type - The type of Spot Instance request (one-time | persistent).
+ //
+ // * valid-from - The start date of the request.
+ //
+ // * valid-until - The end date of the request.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more Spot Instance request IDs.
+ SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSpotInstanceRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotInstanceRequestsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
+ s.Filters = v
+ return s
+}
+
+// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
+func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
+ s.SpotInstanceRequestIds = v
+ return s
+}
+
+// Contains the output of DescribeSpotInstanceRequests.
+type DescribeSpotInstanceRequestsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more Spot Instance requests.
+ SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSpotInstanceRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotInstanceRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
+func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
+ s.SpotInstanceRequests = v
+ return s
+}
+
+// Contains the parameters for DescribeSpotPriceHistory.
+type DescribeSpotPriceHistoryInput struct {
+ _ struct{} `type:"structure"`
+
+ // Filters the results by the specified Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The date and time, up to the current date, from which to stop retrieving
+ // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone for which prices should be
+ // returned.
+ //
+ // * instance-type - The type of instance (for example, m3.medium).
+ //
+ // * product-description - The product description for the Spot price (Linux/UNIX
+ // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
+ // VPC) | Windows (Amazon VPC)).
+ //
+ // * spot-price - The Spot price. The value must match exactly (or use wildcards;
+ // greater than or less than comparison is not supported).
+ //
+ // * timestamp - The time stamp of the Spot price history, in UTC format
+ // (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
+ // Greater than or less than comparison is not supported.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // Filters the results by the specified instance types.
+ InstanceTypes []*string `locationName:"InstanceType" type:"list"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Filters the results by the specified basic product descriptions.
+ ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
+
+ // The date and time, up to the past 90 days, from which to start retrieving
+ // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s DescribeSpotPriceHistoryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotPriceHistoryInput) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEndTime sets the EndTime field's value.
+func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
+ s.EndTime = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
+ s.Filters = v
+ return s
+}
+
+// SetInstanceTypes sets the InstanceTypes field's value.
+func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
+ s.InstanceTypes = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetProductDescriptions sets the ProductDescriptions field's value.
+func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
+ s.ProductDescriptions = v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
+ s.StartTime = &v
+ return s
+}
+
+// Contains the output of DescribeSpotPriceHistory.
+type DescribeSpotPriceHistoryOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token required to retrieve the next set of results. This value is null
+ // or an empty string when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The historical Spot prices.
+ SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSpotPriceHistoryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotPriceHistoryOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetSpotPriceHistory sets the SpotPriceHistory field's value.
+func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
+ s.SpotPriceHistory = v
+ return s
+}
+
+type DescribeStaleSecurityGroupsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the operation, 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 items 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 for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `min:"1" type:"string"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeStaleSecurityGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeStaleSecurityGroupsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeStaleSecurityGroupsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
+ 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 s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
+ s.VpcId = &v
+ return s
+}
+
+type DescribeStaleSecurityGroupsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the stale security groups.
+ StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeStaleSecurityGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeStaleSecurityGroupsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
+func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
+ s.StaleSecurityGroupSet = v
+ return s
+}
+
+// Contains the parameters for DescribeSubnets.
+type DescribeSubnetsInput 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.
+ //
+ // * availabilityZone - The Availability Zone for the subnet. You can also
+ // use availability-zone as the filter name.
+ //
+ // * available-ip-address-count - The number of IPv4 addresses in the subnet
+ // that are available.
+ //
+ // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
+ // must exactly match the subnet's CIDR block for information to be returned
+ // for the subnet. You can also use cidr or cidr-block as the filter names.
+ //
+ // * defaultForAz - Indicates whether this is the default subnet for the
+ // Availability Zone. You can also use default-for-az as the filter name.
+ //
+ // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
+ // with the subnet.
+ //
+ // * ipv6-cidr-block-association.association-id - An association ID for an
+ // IPv6 CIDR block associated with the subnet.
+ //
+ // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
+ // associated with the subnet.
+ //
+ // * state - The state of the subnet (pending | available).
+ //
+ // * subnet-id - The ID of the subnet.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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 for the subnet.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more subnet IDs.
+ //
+ // Default: Describes all your subnets.
+ SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSubnetsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSubnetsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
+ s.Filters = v
+ return s
+}
+
+// SetSubnetIds sets the SubnetIds field's value.
+func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
+ s.SubnetIds = v
+ return s
+}
+
+// Contains the output of DescribeSubnets.
+type DescribeSubnetsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more subnets.
+ Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeSubnetsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSubnetsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSubnets sets the Subnets field's value.
+func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
+ s.Subnets = v
+ return s
+}
+
+// Contains the parameters for DescribeTags.
+type DescribeTagsInput 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.
+ //
+ // * key - The tag key.
+ //
+ // * resource-id - The resource ID.
+ //
+ // * resource-type - The resource type (customer-gateway | dhcp-options |
+ // elastic-ip | fleet | fpga-image | image | instance | internet-gateway
+ // | launch-template | natgateway | network-acl | network-interface | reserved-instances
+ // | route-table | security-group | snapshot | spot-instances-request | subnet
+ // | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).
+ //
+ // * value - The tag value.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. This value can
+ // be between 5 and 1000. To retrieve the remaining results, make another call
+ // with the returned NextToken value.
+ 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 DescribeTagsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTagsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output of DescribeTags.
+type DescribeTagsOutput 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 list of tags.
+ Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeTagsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTagsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
+ s.Tags = v
+ return s
+}
+
+// Contains the parameters for DescribeVolumeAttribute.
+type DescribeVolumeAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute of the volume. This parameter is required.
+ Attribute *string `type:"string" enum:"VolumeAttributeName"`
+
+ // 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"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeVolumeAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
+ s.VolumeId = &v
+ return s
+}
+
+// Contains the output of DescribeVolumeAttribute.
+type DescribeVolumeAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The state of autoEnableIO attribute.
+ AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The ID of the volume.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetAutoEnableIO sets the AutoEnableIO field's value.
+func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
+ s.AutoEnableIO = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
+ s.VolumeId = &v
+ return s
+}
+
+// Contains the parameters for DescribeVolumeStatus.
+type DescribeVolumeStatusInput 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.
+ //
+ // * action.code - The action code for the event (for example, enable-volume-io).
+ //
+ // * action.description - A description of the action.
+ //
+ // * action.event-id - The event ID associated with the action.
+ //
+ // * availability-zone - The Availability Zone of the instance.
+ //
+ // * event.description - A description of the event.
+ //
+ // * event.event-id - The event ID.
+ //
+ // * event.event-type - The event type (for io-enabled: passed | failed;
+ // for io-performance: io-performance:degraded | io-performance:severely-degraded
+ // | io-performance:stalled).
+ //
+ // * event.not-after - The latest end time for the event.
+ //
+ // * event.not-before - The earliest start time for the event.
+ //
+ // * volume-status.details-name - The cause for volume-status.status (io-enabled
+ // | io-performance).
+ //
+ // * volume-status.details-status - The status of volume-status.details-name
+ // (for io-enabled: passed | failed; for io-performance: normal | degraded
+ // | severely-degraded | stalled).
+ //
+ // * volume-status.status - The status of the volume (ok | impaired | warning
+ // | insufficient-data).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of volume results returned by DescribeVolumeStatus in
+ // paginated output. When this parameter is used, the request 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 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. If this
+ // parameter is not used, then DescribeVolumeStatus returns all results. You
+ // cannot specify this parameter and the volume IDs parameter in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The NextToken value to include in a future DescribeVolumeStatus request.
+ // When the results of the request exceed MaxResults, this value can be used
+ // to retrieve the next page of results. This value is null when there are no
+ // more results to return.
+ NextToken *string `type:"string"`
+
+ // One or more volume IDs.
+ //
+ // Default: Describes all your volumes.
+ VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeStatusInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumeIds sets the VolumeIds field's value.
+func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
+ s.VolumeIds = v
+ return s
+}
+
+// Contains the output of DescribeVolumeStatus.
+type DescribeVolumeStatusOutput 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 list of volumes.
+ VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeStatusOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumeStatuses sets the VolumeStatuses field's value.
+func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
+ s.VolumeStatuses = v
+ return s
+}
+
+// Contains the parameters for DescribeVolumes.
+type DescribeVolumesInput 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.
+ //
+ // * attachment.attach-time - The time stamp when the attachment initiated.
+ //
+ // * attachment.delete-on-termination - Whether the volume is deleted on
+ // instance termination.
+ //
+ // * attachment.device - The device name specified in the block device mapping
+ // (for example, /dev/sda1).
+ //
+ // * attachment.instance-id - The ID of the instance the volume is attached
+ // to.
+ //
+ // * attachment.status - The attachment state (attaching | attached | detaching).
+ //
+ // * availability-zone - The Availability Zone in which the volume was created.
+ //
+ // * create-time - The time stamp when the volume was created.
+ //
+ // * encrypted - The encryption status of the volume.
+ //
+ // * size - The size of the volume, in GiB.
+ //
+ // * snapshot-id - The snapshot from which the volume was created.
+ //
+ // * status - The status of the volume (creating | available | in-use | deleting
+ // | deleted | error).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * volume-id - The volume ID.
+ //
+ // * volume-type - The Amazon EBS volume type. This can be gp2 for General
+ // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
+ // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of volume results returned by DescribeVolumes in paginated
+ // output. When this parameter is used, DescribeVolumes 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 DescribeVolumes
+ // request with the returned NextToken value. This value can be between 5 and
+ // 500; if MaxResults is given a value larger than 500, only 500 results are
+ // returned. If this parameter is not used, then DescribeVolumes returns all
+ // results. You cannot specify this parameter and the volume IDs parameter in
+ // the same request.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The NextToken value returned from a previous paginated DescribeVolumes request
+ // where MaxResults was used and the results exceeded the value of that parameter.
+ // Pagination continues from the end of the previous results that returned the
+ // NextToken value. This value is null when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // One or more volume IDs.
+ VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumeIds sets the VolumeIds field's value.
+func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
+ s.VolumeIds = v
+ return s
+}
+
+type DescribeVolumesModificationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters. Supported filters: volume-id, modification-state, target-size,
+ // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
+ // start-time.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results (up to a limit of 500) to be returned in a
+ // paginated request.
+ MaxResults *int64 `type:"integer"`
+
+ // The nextToken value returned by a previous paginated request.
+ NextToken *string `type:"string"`
+
+ // One or more volume IDs for which in-progress modifications will be described.
+ VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesModificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesModificationsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumeIds sets the VolumeIds field's value.
+func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
+ s.VolumeIds = v
+ return s
+}
+
+type DescribeVolumesModificationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Token for pagination, null if there are no more results
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // A list of returned VolumeModification objects.
+ VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesModificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesModificationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumesModifications sets the VolumesModifications field's value.
+func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
+ s.VolumesModifications = v
+ return s
+}
+
+// Contains the output of DescribeVolumes.
+type DescribeVolumesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The NextToken value to include in a future DescribeVolumes request. When
+ // the results of a DescribeVolumes request exceed MaxResults, this value can
+ // be used 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 volumes.
+ Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVolumes sets the Volumes field's value.
+func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
+ s.Volumes = v
+ return s
+}
+
+// Contains the parameters for DescribeVpcAttribute.
+type DescribeVpcAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The VPC attribute.
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
+
+ // 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeVpcAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeVpcAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of DescribeVpcAttribute.
+type DescribeVpcAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the instances launched in the VPC get DNS hostnames. If
+ // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
+ // they do not.
+ EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
+
+ // Indicates whether DNS resolution is enabled for the VPC. If this attribute
+ // is true, the Amazon DNS server resolves DNS hostnames for your instances
+ // to their corresponding IP addresses; otherwise, it does not.
+ EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeVpcAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
+func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
+ s.EnableDnsHostnames = v
+ return s
+}
+
+// SetEnableDnsSupport sets the EnableDnsSupport field's value.
+func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
+ s.EnableDnsSupport = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the parameters for DescribeVpcClassicLinkDnsSupport.
+type DescribeVpcClassicLinkDnsSupportInput struct {
+ _ struct{} `type:"structure"`
+
+ // The maximum number of items 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 `locationName:"maxResults" min:"5" type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `locationName:"nextToken" min:"1" type:"string"`
+
+ // One or more VPC IDs.
+ VpcIds []*string `locationNameList:"VpcId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
+ 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
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcIds sets the VpcIds field's value.
+func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
+ s.VpcIds = v
+ return s
+}
+
+// Contains the output of DescribeVpcClassicLinkDnsSupport.
+type DescribeVpcClassicLinkDnsSupportOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use when requesting the next set of items.
+ NextToken *string `locationName:"nextToken" min:"1" type:"string"`
+
+ // Information about the ClassicLink DNS support status of the VPCs.
+ Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcs sets the Vpcs field's value.
+func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
+ s.Vpcs = v
+ return s
+}
+
+// Contains the parameters for DescribeVpcClassicLink.
+type DescribeVpcClassicLinkInput 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.
+ //
+ // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
+ // (true | false).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPCs for which you want to describe the ClassicLink status.
+ VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
+ s.Filters = v
+ return s
+}
+
+// SetVpcIds sets the VpcIds field's value.
+func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
+ s.VpcIds = v
+ return s
+}
+
+// Contains the output of DescribeVpcClassicLink.
+type DescribeVpcClassicLinkOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ClassicLink status of one or more VPCs.
+ Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcs sets the Vpcs field's value.
+func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
+ s.Vpcs = v
+ return s
+}
+
+type DescribeVpcEndpointConnectionNotificationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the notification.
+ ConnectionNotificationId *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"`
+
+ // One or more filters.
+ //
+ // * connection-notification-arn - The ARN of SNS topic for the notification.
+ //
+ // * connection-notification-id - The ID of the notification.
+ //
+ // * connection-notification-state - The state of the notification (Enabled
+ // | Disabled).
+ //
+ // * connection-notification-type - The type of notification (Topic).
+ //
+ // * service-id - The ID of the endpoint service.
+ //
+ // * vpc-endpoint-id - The ID of the VPC endpoint.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another request with the returned NextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
+ return s.String()
+}
+
+// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
+ s.ConnectionNotificationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeVpcEndpointConnectionNotificationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more notifications.
+ ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" 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 DescribeVpcEndpointConnectionNotificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
+ s.ConnectionNotificationSet = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeVpcEndpointConnectionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * service-id - The ID of the service.
+ //
+ // * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
+ //
+ // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
+ // pending | available | deleting | deleted | rejected | failed).
+ //
+ // * vpc-endpoint-id - The ID of the endpoint.
+ 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 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.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointConnectionsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeVpcEndpointConnectionsOutput 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 one or more VPC endpoint connections.
+ VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
+func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
+ s.VpcEndpointConnections = v
+ return s
+}
+
+type DescribeVpcEndpointServiceConfigurationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * service-name - The name of the service.
+ //
+ // * service-id - The ID of the service.
+ //
+ // * service-state - The state of the service (Pending | Available | Deleting
+ // | Deleted | Failed).
+ 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 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.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+
+ // The IDs of one or more services.
+ ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetServiceIds sets the ServiceIds field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
+ s.ServiceIds = v
+ return s
+}
+
+type DescribeVpcEndpointServiceConfigurationsOutput 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 one or more services.
+ ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetServiceConfigurations sets the ServiceConfigurations field's value.
+func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
+ s.ServiceConfigurations = v
+ return s
+}
+
+type DescribeVpcEndpointServicePermissionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * principal - The ARN of the principal.
+ //
+ // * principal-type - The principal type (All | Service | OrganizationUnit
+ // | Account | User | Role).
+ 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 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.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the service.
+ //
+ // ServiceId is a required field
+ ServiceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointServicePermissionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
+ if s.ServiceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
+ s.ServiceId = &v
+ return s
+}
+
+type DescribeVpcEndpointServicePermissionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more allowed principals.
+ AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" 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 DescribeVpcEndpointServicePermissionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetAllowedPrincipals sets the AllowedPrincipals field's value.
+func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
+ s.AllowedPrincipals = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the parameters for DescribeVpcEndpointServices.
+type DescribeVpcEndpointServicesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * service-name: The name of the service.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items 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.
+ //
+ // Constraint: If the value is greater than 1000, we return only 1000 items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ // One or more service names.
+ ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointServicesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServicesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetServiceNames sets the ServiceNames field's value.
+func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
+ s.ServiceNames = v
+ return s
+}
+
+// Contains the output of DescribeVpcEndpointServices.
+type DescribeVpcEndpointServicesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the service.
+ ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
+
+ // A list of supported services.
+ ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointServicesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointServicesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetServiceDetails sets the ServiceDetails field's value.
+func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
+ s.ServiceDetails = v
+ return s
+}
+
+// SetServiceNames sets the ServiceNames field's value.
+func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
+ s.ServiceNames = v
+ return s
+}
+
+// Contains the parameters for DescribeVpcEndpoints.
+type DescribeVpcEndpointsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * service-name: The name of the service.
+ //
+ // * vpc-id: The ID of the VPC in which the endpoint resides.
+ //
+ // * vpc-endpoint-id: The ID of the endpoint.
+ //
+ // * vpc-endpoint-state: The state of the endpoint. (pending | available
+ // | deleting | deleted)
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items 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.
+ //
+ // Constraint: If the value is greater than 1000, we return only 1000 items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ // One or more endpoint IDs.
+ VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcEndpointIds sets the VpcEndpointIds field's value.
+func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
+ s.VpcEndpointIds = v
+ return s
+}
+
+// Contains the output of DescribeVpcEndpoints.
+type DescribeVpcEndpointsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the endpoints.
+ VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcEndpointsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcEndpointsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVpcEndpoints sets the VpcEndpoints field's value.
+func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
+ s.VpcEndpoints = v
+ return s
+}
+
+// Contains the parameters for DescribeVpcPeeringConnections.
+type DescribeVpcPeeringConnectionsInput 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.
+ //
+ // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
+ //
+ // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
+ // accepter VPC.
+ //
+ // * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
+ //
+ // * expiration-time - The expiration date and time for the VPC peering connection.
+ //
+ // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
+ // VPC.
+ //
+ // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
+ // requester VPC.
+ //
+ // * requester-vpc-info.vpc-id - The ID of the requester VPC.
+ //
+ // * status-code - The status of the VPC peering connection (pending-acceptance
+ // | failed | expired | provisioning | active | deleting | deleted | rejected).
+ //
+ // * status-message - A message that provides more information about the
+ // status of the VPC peering connection, if applicable.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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-peering-connection-id - The ID of the VPC peering connection.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPC peering connection IDs.
+ //
+ // Default: Describes all your VPC peering connections.
+ VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcPeeringConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcPeeringConnectionsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
+func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
+ s.VpcPeeringConnectionIds = v
+ return s
+}
+
+// Contains the output of DescribeVpcPeeringConnections.
+type DescribeVpcPeeringConnectionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC peering connections.
+ VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcPeeringConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
+func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
+ s.VpcPeeringConnections = v
+ return s
+}
+
+// Contains the parameters for DescribeVpcs.
+type DescribeVpcsInput 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.
+ //
+ // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
+ // must exactly match the VPC's CIDR block for information to be returned
+ // for the VPC. Must contain the slash followed by one or two digits (for
+ // example, /28).
+ //
+ // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
+ // the VPC.
+ //
+ // * cidr-block-association.association-id - The association ID for an IPv4
+ // CIDR block associated with the VPC.
+ //
+ // * cidr-block-association.state - The state of an IPv4 CIDR block associated
+ // with the VPC.
+ //
+ // * dhcp-options-id - The ID of a set of DHCP options.
+ //
+ // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
+ // with the VPC.
+ //
+ // * ipv6-cidr-block-association.association-id - The association ID for
+ // an IPv6 CIDR block associated with the VPC.
+ //
+ // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
+ // associated with the VPC.
+ //
+ // * isDefault - Indicates whether the VPC is the default VPC.
+ //
+ // * state - The state of the VPC (pending | available).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPC IDs.
+ //
+ // Default: Describes all your VPCs.
+ VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
+ s.Filters = v
+ return s
+}
+
+// SetVpcIds sets the VpcIds field's value.
+func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
+ s.VpcIds = v
+ return s
+}
+
+// Contains the output of DescribeVpcs.
+type DescribeVpcsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more VPCs.
+ Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpcsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpcsOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpcs sets the Vpcs field's value.
+func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
+ s.Vpcs = v
+ return s
+}
+
+// Contains the parameters for DescribeVpnConnections.
+type DescribeVpnConnectionsInput 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.
+ //
+ // * customer-gateway-configuration - The configuration information for the
+ // customer gateway.
+ //
+ // * customer-gateway-id - The ID of a customer gateway associated with the
+ // VPN connection.
+ //
+ // * state - The state of the VPN connection (pending | available | deleting
+ // | deleted).
+ //
+ // * option.static-routes-only - Indicates whether the connection has static
+ // routes only. Used for devices that do not support Border Gateway Protocol
+ // (BGP).
+ //
+ // * route.destination-cidr-block - The destination CIDR block. This corresponds
+ // to the subnet used in a customer data center.
+ //
+ // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
+ // device.
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * type - The type of VPN connection. Currently the only supported type
+ // is ipsec.1.
+ //
+ // * vpn-connection-id - The ID of the VPN connection.
+ //
+ // * vpn-gateway-id - The ID of a virtual private gateway associated with
+ // the VPN connection.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPN connection IDs.
+ //
+ // Default: Describes your VPN connections.
+ VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpnConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpnConnectionsInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetVpnConnectionIds sets the VpnConnectionIds field's value.
+func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
+ s.VpnConnectionIds = v
+ return s
+}
+
+// Contains the output of DescribeVpnConnections.
+type DescribeVpnConnectionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more VPN connections.
+ VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpnConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpnConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpnConnections sets the VpnConnections field's value.
+func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
+ s.VpnConnections = v
+ return s
+}
+
+// Contains the parameters for DescribeVpnGateways.
+type DescribeVpnGatewaysInput 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.
+ //
+ // * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
+ // side of the gateway.
+ //
+ // * attachment.state - The current state of the attachment between the gateway
+ // and the VPC (attaching | attached | detaching | detached).
+ //
+ // * attachment.vpc-id - The ID of an attached VPC.
+ //
+ // * availability-zone - The Availability Zone for the virtual private gateway
+ // (if applicable).
+ //
+ // * state - The state of the virtual private gateway (pending | available
+ // | deleting | deleted).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X 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.
+ //
+ // * type - The type of virtual private gateway. Currently the only supported
+ // type is ipsec.1.
+ //
+ // * vpn-gateway-id - The ID of the virtual private gateway.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more virtual private gateway IDs.
+ //
+ // Default: Describes all your virtual private gateways.
+ VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpnGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpnGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
+ s.Filters = v
+ return s
+}
+
+// SetVpnGatewayIds sets the VpnGatewayIds field's value.
+func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
+ s.VpnGatewayIds = v
+ return s
+}
+
+// Contains the output of DescribeVpnGateways.
+type DescribeVpnGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more virtual private gateways.
+ VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeVpnGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVpnGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpnGateways sets the VpnGateways field's value.
+func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
+ s.VpnGateways = v
+ return s
+}
+
+// Contains the parameters for DetachClassicLinkVpc.
+type DetachClassicLinkVpcInput 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"`
+
+ // The ID of the instance to unlink from the VPC.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of the VPC to which the instance is linked.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DetachClassicLinkVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachClassicLinkVpcInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DetachClassicLinkVpcInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of DetachClassicLinkVpc.
+type DetachClassicLinkVpcOutput 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 DetachClassicLinkVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachClassicLinkVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DetachInternetGateway.
+type DetachInternetGatewayInput 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"`
+
+ // The ID of the Internet gateway.
+ //
+ // InternetGatewayId is a required field
+ InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DetachInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DetachInternetGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
+ if s.InternetGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInternetGatewayId sets the InternetGatewayId field's value.
+func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
+ s.InternetGatewayId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
+ s.VpcId = &v
+ return s
+}
+
+type DetachInternetGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DetachNetworkInterface.
+type DetachNetworkInterfaceInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the attachment.
+ //
+ // AttachmentId is a required field
+ AttachmentId *string `locationName:"attachmentId" 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"`
+
+ // Specifies whether to force a detachment.
+ Force *bool `locationName:"force" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DetachNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DetachNetworkInterfaceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
+ if s.AttachmentId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttachmentId sets the AttachmentId field's value.
+func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
+ s.AttachmentId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetForce sets the Force field's value.
+func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
+ s.Force = &v
+ return s
+}
+
+type DetachNetworkInterfaceOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DetachVolume.
+type DetachVolumeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The device name.
+ Device *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 `locationName:"dryRun" type:"boolean"`
+
+ // Forces detachment if the previous detachment attempt did not occur cleanly
+ // (for example, logging into an instance, unmounting the volume, and detaching
+ // normally). This option can lead to data loss or a corrupted file system.
+ // Use this option only as a last resort to detach a volume from a failed instance.
+ // The instance won't have an opportunity to flush file system caches or file
+ // system metadata. If you use this option, you must perform file system check
+ // and repair procedures.
+ Force *bool `type:"boolean"`
+
+ // The ID of the instance.
+ InstanceId *string `type:"string"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `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.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDevice sets the Device field's value.
+func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
+ s.Device = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetForce sets the Force field's value.
+func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
+ s.Force = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
+ s.VolumeId = &v
+ return s
+}
+
+// Contains the parameters for DetachVpnGateway.
+type DetachVpnGatewayInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ //
+ // VpnGatewayId is a required field
+ VpnGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DetachVpnGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachVpnGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DetachVpnGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+ if s.VpnGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
+ s.VpcId = &v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
+ s.VpnGatewayId = &v
+ return s
+}
+
+type DetachVpnGatewayOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachVpnGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachVpnGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a DHCP configuration option.
+type DhcpConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The name of a DHCP option.
+ Key *string `locationName:"key" type:"string"`
+
+ // One or more values for the DHCP option.
+ Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DhcpConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DhcpConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetKey sets the Key field's value.
+func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
+ s.Key = &v
+ return s
+}
+
+// SetValues sets the Values field's value.
+func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
+ s.Values = v
+ return s
+}
+
+// Describes a set of DHCP options.
+type DhcpOptions struct {
+ _ struct{} `type:"structure"`
+
+ // One or more DHCP options in the set.
+ DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
+
+ // The ID of the set of DHCP options.
+ DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
+
+ // Any tags assigned to the DHCP options set.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DhcpOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DhcpOptions) GoString() string {
+ return s.String()
+}
+
+// SetDhcpConfigurations sets the DhcpConfigurations field's value.
+func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
+ s.DhcpConfigurations = v
+ return s
+}
+
+// SetDhcpOptionsId sets the DhcpOptionsId field's value.
+func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
+ s.DhcpOptionsId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
+ s.Tags = v
+ return s
+}
+
+// Contains the parameters for DisableVgwRoutePropagation.
+type DisableVgwRoutePropagationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the virtual private gateway.
+ //
+ // GatewayId is a required field
+ GatewayId *string `type:"string" required:"true"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DisableVgwRoutePropagationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVgwRoutePropagationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisableVgwRoutePropagationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
+ if s.GatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayId"))
+ }
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
+ s.GatewayId = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
+ s.RouteTableId = &v
+ return s
+}
+
+type DisableVgwRoutePropagationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisableVgwRoutePropagationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVgwRoutePropagationOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DisableVpcClassicLinkDnsSupport.
+type DisableVpcClassicLinkDnsSupportInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the VPC.
+ VpcId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DisableVpcClassicLinkDnsSupportInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
+ return s.String()
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of DisableVpcClassicLinkDnsSupport.
+type DisableVpcClassicLinkDnsSupportOutput 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 DisableVpcClassicLinkDnsSupportOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DisableVpcClassicLink.
+type DisableVpcClassicLinkInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DisableVpcClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVpcClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisableVpcClassicLinkInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of DisableVpcClassicLink.
+type DisableVpcClassicLinkOutput 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 DisableVpcClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVpcClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for DisassociateAddress.
+type DisassociateAddressInput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The association ID. Required for EC2-VPC.
+ AssociationId *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 `locationName:"dryRun" type:"boolean"`
+
+ // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
+ PublicIp *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DisassociateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateAddressInput) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
+ s.AssociationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
+ s.PublicIp = &v
+ return s
+}
+
+type DisassociateAddressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateAddressOutput) GoString() string {
+ return s.String()
+}
+
+type DisassociateIamInstanceProfileInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the IAM instance profile association.
+ //
+ // AssociationId is a required field
+ AssociationId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DisassociateIamInstanceProfileInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateIamInstanceProfileInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisassociateIamInstanceProfileInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
+ s.AssociationId = &v
+ return s
+}
+
+type DisassociateIamInstanceProfileOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IAM instance profile association.
+ IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateIamInstanceProfileOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateIamInstanceProfileOutput) GoString() string {
+ return s.String()
+}
+
+// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
+func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
+ s.IamInstanceProfileAssociation = v
+ return s
+}
+
+// Contains the parameters for DisassociateRouteTable.
+type DisassociateRouteTableInput struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID representing the current association between the route
+ // table and subnet.
+ //
+ // AssociationId is a required field
+ AssociationId *string `locationName:"associationId" 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"`
+}
+
+// String returns the string representation
+func (s DisassociateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisassociateRouteTableInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
+ s.AssociationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
+ s.DryRun = &v
+ return s
+}
+
+type DisassociateRouteTableOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+type DisassociateSubnetCidrBlockInput struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID for the CIDR block.
+ //
+ // AssociationId is a required field
+ AssociationId *string `locationName:"associationId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DisassociateSubnetCidrBlockInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateSubnetCidrBlockInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisassociateSubnetCidrBlockInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
+ s.AssociationId = &v
+ return s
+}
+
+type DisassociateSubnetCidrBlockOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IPv6 CIDR block association.
+ Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s DisassociateSubnetCidrBlockOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateSubnetCidrBlockOutput) GoString() string {
+ return s.String()
+}
+
+// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
+func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
+ s.Ipv6CidrBlockAssociation = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
+ s.SubnetId = &v
+ return s
+}
+
+type DisassociateVpcCidrBlockInput struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID for the CIDR block.
+ //
+ // AssociationId is a required field
+ AssociationId *string `locationName:"associationId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DisassociateVpcCidrBlockInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateVpcCidrBlockInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisassociateVpcCidrBlockInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
+ s.AssociationId = &v
+ return s
+}
+
+type DisassociateVpcCidrBlockOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IPv4 CIDR block association.
+ CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
+
+ // Information about the IPv6 CIDR block association.
+ Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s DisassociateVpcCidrBlockOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateVpcCidrBlockOutput) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
+func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
+ s.CidrBlockAssociation = v
+ return s
+}
+
+// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
+func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
+ s.Ipv6CidrBlockAssociation = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a disk image.
+type DiskImage struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the disk image.
+ Description *string `type:"string"`
+
+ // Information about the disk image.
+ Image *DiskImageDetail `type:"structure"`
+
+ // Information about the volume.
+ Volume *VolumeDetail `type:"structure"`
+}
+
+// String returns the string representation
+func (s DiskImage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImage) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DiskImage) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
+ if s.Image != nil {
+ if err := s.Image.Validate(); err != nil {
+ invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Volume != nil {
+ if err := s.Volume.Validate(); err != nil {
+ invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *DiskImage) SetDescription(v string) *DiskImage {
+ s.Description = &v
+ return s
+}
+
+// SetImage sets the Image field's value.
+func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
+ s.Image = v
+ return s
+}
+
+// SetVolume sets the Volume field's value.
+func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
+ s.Volume = v
+ return s
+}
+
+// Describes a disk image.
+type DiskImageDescription struct {
+ _ struct{} `type:"structure"`
+
+ // The checksum computed for the disk image.
+ Checksum *string `locationName:"checksum" type:"string"`
+
+ // The disk image format.
+ Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
+
+ // 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)
+ // 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).
+ ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
+
+ // The size of the disk image, in GiB.
+ Size *int64 `locationName:"size" type:"long"`
+}
+
+// String returns the string representation
+func (s DiskImageDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageDescription) GoString() string {
+ return s.String()
+}
+
+// SetChecksum sets the Checksum field's value.
+func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
+ s.Checksum = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
+ s.Format = &v
+ return s
+}
+
+// SetImportManifestUrl sets the ImportManifestUrl field's value.
+func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
+ s.ImportManifestUrl = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
+ s.Size = &v
+ return s
+}
+
+// Describes a disk image.
+type DiskImageDetail struct {
+ _ struct{} `type:"structure"`
+
+ // The size of the disk image, in GiB.
+ //
+ // Bytes is a required field
+ Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
+
+ // The disk image format.
+ //
+ // Format is a required field
+ Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
+
+ // 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)
+ // 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).
+ //
+ // ImportManifestUrl is a required field
+ ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DiskImageDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageDetail) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DiskImageDetail) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
+ if s.Bytes == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bytes"))
+ }
+ if s.Format == nil {
+ invalidParams.Add(request.NewErrParamRequired("Format"))
+ }
+ if s.ImportManifestUrl == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBytes sets the Bytes field's value.
+func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
+ s.Bytes = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
+ s.Format = &v
+ return s
+}
+
+// SetImportManifestUrl sets the ImportManifestUrl field's value.
+func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
+ s.ImportManifestUrl = &v
+ return s
+}
+
+// Describes a disk image volume.
+type DiskImageVolumeDescription struct {
+ _ struct{} `type:"structure"`
+
+ // The volume identifier.
+ Id *string `locationName:"id" type:"string"`
+
+ // The size of the volume, in GiB.
+ Size *int64 `locationName:"size" type:"long"`
+}
+
+// String returns the string representation
+func (s DiskImageVolumeDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageVolumeDescription) GoString() string {
+ return s.String()
+}
+
+// SetId sets the Id field's value.
+func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
+ s.Id = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
+ s.Size = &v
+ return s
+}
+
+// Describes a DNS entry.
+type DnsEntry struct {
+ _ struct{} `type:"structure"`
+
+ // The DNS name.
+ DnsName *string `locationName:"dnsName" type:"string"`
+
+ // The ID of the private hosted zone.
+ HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
+}
+
+// String returns the string representation
+func (s DnsEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DnsEntry) GoString() string {
+ return s.String()
+}
+
+// SetDnsName sets the DnsName field's value.
+func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
+ s.DnsName = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
+ s.HostedZoneId = &v
+ return s
+}
+
+// Describes a block device for an EBS volume.
+type EbsBlockDevice struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
+ // be attached to instances that support Amazon EBS encryption. If you are creating
+ // a volume from a snapshot, you can't specify an encryption value. This is
+ // because only blank volumes can be encrypted on creation.
+ 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
+ // gp2 volumes.
+ //
+ // 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.
+ Iops *int64 `locationName:"iops" type:"integer"`
+
+ // Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK
+ // 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).
+ KmsKeyId *string `type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // The size of the volume, in GiB.
+ //
+ // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
+ // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
+ // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
+ // a snapshot, the volume size must be equal to or larger than the snapshot
+ // size.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
+
+ // The volume type: gp2, io1, st1, sc1, or standard.
+ //
+ // Default: standard
+ VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s EbsBlockDevice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EbsBlockDevice) GoString() string {
+ return s.String()
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
+ s.Iops = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
+ s.VolumeSize = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
+ s.VolumeType = &v
+ return s
+}
+
+// Describes a parameter used to set up an EBS volume in a block device mapping.
+type EbsInstanceBlockDevice struct {
+ _ struct{} `type:"structure"`
+
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the EBS volume.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+}
+
+// String returns the string representation
+func (s EbsInstanceBlockDevice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EbsInstanceBlockDevice) GoString() string {
+ return s.String()
+}
+
+// SetAttachTime sets the AttachTime field's value.
+func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
+ s.AttachTime = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
+ s.Status = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
+ s.VolumeId = &v
+ return s
+}
+
+// Describes information used to set up an EBS volume specified in a block device
+// mapping.
+type EbsInstanceBlockDeviceSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The ID of the EBS volume.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+}
+
+// String returns the string representation
+func (s EbsInstanceBlockDeviceSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EbsInstanceBlockDeviceSpecification) GoString() string {
+ return s.String()
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
+ s.VolumeId = &v
+ return s
+}
+
+// Describes an egress-only Internet gateway.
+type EgressOnlyInternetGateway struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the attachment of the egress-only Internet gateway.
+ Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
+
+ // The ID of the egress-only Internet gateway.
+ EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s EgressOnlyInternetGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EgressOnlyInternetGateway) GoString() string {
+ return s.String()
+}
+
+// SetAttachments sets the Attachments field's value.
+func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
+ s.Attachments = v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
+func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
+ s.EgressOnlyInternetGatewayId = &v
+ return s
+}
+
+// Describes the association between an instance and an Elastic GPU.
+type ElasticGpuAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the association.
+ ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
+
+ // The state of the association between the instance and the Elastic GPU.
+ ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
+
+ // The time the Elastic GPU was associated with the instance.
+ ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
+
+ // The ID of the Elastic GPU.
+ ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
+}
+
+// String returns the string representation
+func (s ElasticGpuAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuAssociation) GoString() string {
+ return s.String()
+}
+
+// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationId = &v
+ return s
+}
+
+// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationState = &v
+ return s
+}
+
+// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationTime = &v
+ return s
+}
+
+// SetElasticGpuId sets the ElasticGpuId field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
+ s.ElasticGpuId = &v
+ return s
+}
+
+// Describes the status of an Elastic GPU.
+type ElasticGpuHealth struct {
+ _ struct{} `type:"structure"`
+
+ // The health status.
+ Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
+}
+
+// String returns the string representation
+func (s ElasticGpuHealth) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuHealth) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
+ s.Status = &v
+ return s
+}
+
+// A specification for an Elastic GPU.
+type ElasticGpuSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of Elastic GPU.
+ //
+ // Type is a required field
+ Type *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ElasticGpuSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ElasticGpuSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetType sets the Type field's value.
+func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
+ s.Type = &v
+ return s
+}
+
+// Describes an elastic GPU.
+type ElasticGpuSpecificationResponse struct {
+ _ struct{} `type:"structure"`
+
+ // The elastic GPU type.
+ Type *string `locationName:"type" type:"string"`
+}
+
+// String returns the string representation
+func (s ElasticGpuSpecificationResponse) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuSpecificationResponse) GoString() string {
+ return s.String()
+}
+
+// SetType sets the Type field's value.
+func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
+ s.Type = &v
+ return s
+}
+
+// Describes an Elastic GPU.
+type ElasticGpus struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in the which the Elastic GPU resides.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The status of the Elastic GPU.
+ ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
+
+ // The ID of the Elastic GPU.
+ ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
+
+ // The state of the Elastic GPU.
+ ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
+
+ // The type of Elastic GPU.
+ ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
+
+ // The ID of the instance to which the Elastic GPU is attached.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s ElasticGpus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpus) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
+func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
+ s.ElasticGpuHealth = v
+ return s
+}
+
+// SetElasticGpuId sets the ElasticGpuId field's value.
+func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
+ s.ElasticGpuId = &v
+ return s
+}
+
+// SetElasticGpuState sets the ElasticGpuState field's value.
+func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
+ s.ElasticGpuState = &v
+ return s
+}
+
+// SetElasticGpuType sets the ElasticGpuType field's value.
+func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
+ s.ElasticGpuType = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
+ s.InstanceId = &v
+ return s
+}
+
+// Contains the parameters for EnableVgwRoutePropagation.
+type EnableVgwRoutePropagationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the virtual private gateway.
+ //
+ // GatewayId is a required field
+ GatewayId *string `type:"string" required:"true"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s EnableVgwRoutePropagationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVgwRoutePropagationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *EnableVgwRoutePropagationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
+ if s.GatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayId"))
+ }
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
+ s.GatewayId = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
+ s.RouteTableId = &v
+ return s
+}
+
+type EnableVgwRoutePropagationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVgwRoutePropagationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVgwRoutePropagationOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for EnableVolumeIO.
+type EnableVolumeIOInput 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"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s EnableVolumeIOInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVolumeIOInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *EnableVolumeIOInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
+ s.VolumeId = &v
+ return s
+}
+
+type EnableVolumeIOOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVolumeIOOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVolumeIOOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for EnableVpcClassicLinkDnsSupport.
+type EnableVpcClassicLinkDnsSupportInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the VPC.
+ VpcId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s EnableVpcClassicLinkDnsSupportInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
+ return s.String()
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of EnableVpcClassicLinkDnsSupport.
+type EnableVpcClassicLinkDnsSupportOutput 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 EnableVpcClassicLinkDnsSupportOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for EnableVpcClassicLink.
+type EnableVpcClassicLinkInput 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"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s EnableVpcClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVpcClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *EnableVpcClassicLinkInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of EnableVpcClassicLink.
+type EnableVpcClassicLinkOutput 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 EnableVpcClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVpcClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
+ s.Return = &v
+ return s
+}
+
+// Describes a Spot Fleet event.
+type EventInformation struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the event.
+ EventDescription *string `locationName:"eventDescription" type:"string"`
+
+ // The event.
+ //
+ // The following are the error events:
+ //
+ // * 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.
+ //
+ // * spotInstanceCountLimitExceeded - You've reached the limit on the number
+ // of Spot Instances that you can launch.
+ //
+ // The following are the fleetRequestChange events:
+ //
+ // * active - The Spot Fleet has been validated and Amazon EC2 is attempting
+ // to maintain the target number of running Spot Instances.
+ //
+ // * cancelled - The Spot Fleet is canceled and has no running Spot Instances.
+ // The Spot Fleet will be deleted two days after its instances were terminated.
+ //
+ // * cancelled_running - The Spot Fleet is canceled and does not launch additional
+ // Spot Instances. Existing Spot Instances continue to run until they are
+ // interrupted or terminated.
+ //
+ // * cancelled_terminating - The Spot Fleet is canceled and its Spot Instances
+ // are terminating.
+ //
+ // * expired - The Spot Fleet request has expired. A subsequent event indicates
+ // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
+ // set.
+ //
+ // * modify_in_progress - A request to modify the Spot Fleet request was
+ // accepted and is in progress.
+ //
+ // * modify_successful - The Spot Fleet request was modified.
+ //
+ // * price_update - The price for a launch configuration was adjusted because
+ // it was too high. This change is permanent.
+ //
+ // * submitted - The Spot Fleet request is being evaluated and Amazon EC2
+ // is preparing to launch the target number of Spot Instances.
+ //
+ // The following are the instanceChange events:
+ //
+ // * launched - A request was fulfilled and a new instance was launched.
+ //
+ // * terminated - An instance was terminated by the user.
+ //
+ // The following are the Information events:
+ //
+ // * 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.
+ //
+ // * fleetProgressHalted - The price in every launch specification is not
+ // valid. A launch specification might become valid if the Spot price changes.
+ EventSubType *string `locationName:"eventSubType" type:"string"`
+
+ // The ID of the instance. This information is available only for instanceChange
+ // events.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s EventInformation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EventInformation) GoString() string {
+ return s.String()
+}
+
+// SetEventDescription sets the EventDescription field's value.
+func (s *EventInformation) SetEventDescription(v string) *EventInformation {
+ s.EventDescription = &v
+ return s
+}
+
+// SetEventSubType sets the EventSubType field's value.
+func (s *EventInformation) SetEventSubType(v string) *EventInformation {
+ s.EventSubType = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *EventInformation) SetInstanceId(v string) *EventInformation {
+ s.InstanceId = &v
+ return s
+}
+
+// Describes an instance export task.
+type ExportTask struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the resource being exported.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the export task.
+ ExportTaskId *string `locationName:"exportTaskId" type:"string"`
+
+ // Information about the export task.
+ ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
+
+ // Information about the instance to export.
+ InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
+
+ // The state of the export task.
+ State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
+
+ // The status message related to the export task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s ExportTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportTask) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *ExportTask) SetDescription(v string) *ExportTask {
+ s.Description = &v
+ return s
+}
+
+// SetExportTaskId sets the ExportTaskId field's value.
+func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
+ s.ExportTaskId = &v
+ return s
+}
+
+// SetExportToS3Task sets the ExportToS3Task field's value.
+func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
+ s.ExportToS3Task = v
+ return s
+}
+
+// SetInstanceExportDetails sets the InstanceExportDetails field's value.
+func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
+ s.InstanceExportDetails = v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *ExportTask) SetState(v string) *ExportTask {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes the format and location for an instance export task.
+type ExportToS3Task struct {
+ _ struct{} `type:"structure"`
+
+ // The container format used to combine disk images with metadata (such as OVF).
+ // If absent, only the disk image is exported.
+ ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
+
+ // The format for the exported image.
+ DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
+
+ // The S3 bucket for the destination image. The destination bucket must exist
+ // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The encryption key for your S3 bucket.
+ S3Key *string `locationName:"s3Key" type:"string"`
+}
+
+// String returns the string representation
+func (s ExportToS3Task) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportToS3Task) GoString() string {
+ return s.String()
+}
+
+// SetContainerFormat sets the ContainerFormat field's value.
+func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
+ s.ContainerFormat = &v
+ return s
+}
+
+// SetDiskImageFormat sets the DiskImageFormat field's value.
+func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
+ s.DiskImageFormat = &v
+ return s
+}
+
+// SetS3Bucket sets the S3Bucket field's value.
+func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
+ s.S3Bucket = &v
+ return s
+}
+
+// SetS3Key sets the S3Key field's value.
+func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
+ s.S3Key = &v
+ return s
+}
+
+// Describes an instance export task.
+type ExportToS3TaskSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The container format used to combine disk images with metadata (such as OVF).
+ // If absent, only the disk image is exported.
+ ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
+
+ // The format for the exported image.
+ DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
+
+ // The S3 bucket for the destination image. The destination bucket must exist
+ // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The image is written to a single object in the S3 bucket at the S3 key s3prefix
+ // + exportTaskId + '.' + diskImageFormat.
+ S3Prefix *string `locationName:"s3Prefix" type:"string"`
+}
+
+// String returns the string representation
+func (s ExportToS3TaskSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportToS3TaskSpecification) GoString() string {
+ return s.String()
+}
+
+// SetContainerFormat sets the ContainerFormat field's value.
+func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
+ s.ContainerFormat = &v
+ return s
+}
+
+// SetDiskImageFormat sets the DiskImageFormat field's value.
+func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
+ s.DiskImageFormat = &v
+ return s
+}
+
+// SetS3Bucket sets the S3Bucket field's value.
+func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
+ s.S3Bucket = &v
+ return s
+}
+
+// SetS3Prefix sets the S3Prefix field's value.
+func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
+ s.S3Prefix = &v
+ return s
+}
+
+// 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. For example:
+//
+// * DescribeAvailabilityZones
+//
+// * DescribeImages
+//
+// * DescribeInstances
+//
+// * DescribeKeyPairs
+//
+// * DescribeSecurityGroups
+//
+// * DescribeSnapshots
+//
+// * DescribeSubnets
+//
+// * DescribeTags
+//
+// * DescribeVolumes
+//
+// * DescribeVpcs
+type Filter struct {
+ _ struct{} `type:"structure"`
+
+ // The 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 `locationName:"Value" locationNameList:"item" 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
+}
+
+// Describes an EC2 Fleet.
+type FleetData struct {
+ _ struct{} `type:"structure"`
+
+ // The progress of the EC2 Fleet. If there is an error, the status is error.
+ // After all requests are placed, the status is pending_fulfillment. If the
+ // size of the EC2 Fleet is equal to or greater than its target capacity, the
+ // status is fulfilled. If the size of the EC2 Fleet is decreased, the status
+ // is pending_termination while instances are terminating.
+ 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).
+ //
+ // Constraints: Maximum 64 ASCII characters
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The creation date and time of the EC2 Fleet.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether running instances should be terminated if the target capacity
+ // of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
+ ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
+
+ // The ID of the EC2 Fleet.
+ FleetId *string `locationName:"fleetId" type:"string"`
+
+ // The state of the EC2 Fleet.
+ FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
+
+ // The number of units fulfilled by this request compared to the set target
+ // capacity.
+ FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
+
+ // The number of units fulfilled by this request compared to the set target
+ // On-Demand capacity.
+ FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
+
+ // The launch template and overrides.
+ LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
+
+ // Indicates whether EC2 Fleet should replace unhealthy instances.
+ ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
+
+ // The configuration of Spot Instances in an EC2 Fleet.
+ SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
+
+ // The tags for an EC2 Fleet resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The number of units to request. You can choose to set the target capacity
+ // in terms of instances or a performance characteristic that is important to
+ // your application workload, such as vCPUs, memory, or I/O. If the request
+ // type is maintain, you can specify a target capacity of 0 and add capacity
+ // later.
+ TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
+
+ // Indicates whether running instances should be terminated when the EC2 Fleet
+ // expires.
+ TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
+
+ // The type of request. Indicates whether the EC2 Fleet only requests the target
+ // capacity, or also attempts to maintain it. If you request a certain target
+ // capacity, EC2 Fleet only places the required requests; it does not attempt
+ // to replenish instances if capacity is diminished, and does not submit requests
+ // in alternative capacity pools if capacity is unavailable. To maintain a certain
+ // target capacity, EC2 Fleet places the required requests to meet this target
+ // capacity. It also automatically replenishes any interrupted Spot Instances.
+ // Default: maintain.
+ 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).
+ // The default is to start fulfilling the request immediately.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // At this point, no new instance requests are placed or able to fulfill the
+ // request. The default end date is 7 days from the current date.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s FleetData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetData) GoString() string {
+ return s.String()
+}
+
+// SetActivityStatus sets the ActivityStatus field's value.
+func (s *FleetData) SetActivityStatus(v string) *FleetData {
+ s.ActivityStatus = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *FleetData) SetClientToken(v string) *FleetData {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
+ s.CreateTime = &v
+ return s
+}
+
+// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
+func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
+ s.ExcessCapacityTerminationPolicy = &v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *FleetData) SetFleetId(v string) *FleetData {
+ s.FleetId = &v
+ return s
+}
+
+// SetFleetState sets the FleetState field's value.
+func (s *FleetData) SetFleetState(v string) *FleetData {
+ s.FleetState = &v
+ return s
+}
+
+// SetFulfilledCapacity sets the FulfilledCapacity field's value.
+func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
+ s.FulfilledCapacity = &v
+ return s
+}
+
+// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
+func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
+ s.FulfilledOnDemandCapacity = &v
+ return s
+}
+
+// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
+func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
+ s.LaunchTemplateConfigs = v
+ return s
+}
+
+// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
+func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
+ s.ReplaceUnhealthyInstances = &v
+ return s
+}
+
+// SetSpotOptions sets the SpotOptions field's value.
+func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
+ s.SpotOptions = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *FleetData) SetTags(v []*Tag) *FleetData {
+ s.Tags = v
+ return s
+}
+
+// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
+func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
+ s.TargetCapacitySpecification = v
+ return s
+}
+
+// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
+func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
+ s.TerminateInstancesWithExpiration = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *FleetData) SetType(v string) *FleetData {
+ s.Type = &v
+ return s
+}
+
+// SetValidFrom sets the ValidFrom field's value.
+func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
+ s.ValidFrom = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
+ s.ValidUntil = &v
+ return s
+}
+
+// Describes a launch template and overrides.
+type FleetLaunchTemplateConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The launch template.
+ LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
+
+ // Any parameters that you specify override the same parameters in the launch
+ // template.
+ Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateConfig) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
+func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
+ s.LaunchTemplateSpecification = v
+ return s
+}
+
+// SetOverrides sets the Overrides field's value.
+func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
+ s.Overrides = v
+ return s
+}
+
+// Describes a launch template and overrides.
+type FleetLaunchTemplateConfigRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The launch template to use. You must specify either the launch template ID
+ // or launch template name in the request.
+ LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
+
+ // Any parameters that you specify override the same parameters in the launch
+ // template.
+ Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateConfigRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateConfigRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *FleetLaunchTemplateConfigRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
+ if s.LaunchTemplateSpecification != nil {
+ if err := s.LaunchTemplateSpecification.Validate(); err != nil {
+ invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
+func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
+ s.LaunchTemplateSpecification = v
+ return s
+}
+
+// SetOverrides sets the Overrides field's value.
+func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
+ s.Overrides = v
+ return s
+}
+
+// Describes overrides for a launch template.
+type FleetLaunchTemplateOverrides struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which to launch the instances.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The maximum price per unit hour that you are willing to pay for a Spot Instance.
+ MaxPrice *string `locationName:"maxPrice" type:"string"`
+
+ // The ID of the subnet in which to launch the instances.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The number of units provided by the specified instance type.
+ WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateOverrides) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateOverrides) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMaxPrice sets the MaxPrice field's value.
+func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
+ s.MaxPrice = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
+ s.SubnetId = &v
+ return s
+}
+
+// SetWeightedCapacity sets the WeightedCapacity field's value.
+func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
+ s.WeightedCapacity = &v
+ return s
+}
+
+// Describes overrides for a launch template.
+type FleetLaunchTemplateOverridesRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which to launch the instances.
+ AvailabilityZone *string `type:"string"`
+
+ // The instance type.
+ InstanceType *string `type:"string" enum:"InstanceType"`
+
+ // The maximum price per unit hour that you are willing to pay for a Spot Instance.
+ MaxPrice *string `type:"string"`
+
+ // The ID of the subnet in which to launch the instances.
+ SubnetId *string `type:"string"`
+
+ // The number of units provided by the specified instance type.
+ WeightedCapacity *float64 `type:"double"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateOverridesRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateOverridesRequest) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMaxPrice sets the MaxPrice field's value.
+func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
+ s.MaxPrice = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
+ s.SubnetId = &v
+ return s
+}
+
+// SetWeightedCapacity sets the WeightedCapacity field's value.
+func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
+ s.WeightedCapacity = &v
+ return s
+}
+
+// Describes a launch template.
+type FleetLaunchTemplateSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the launch template. You must specify either a template ID or a
+ // template name.
+ LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
+
+ // The name of the launch template. You must specify either a template name
+ // or a template ID.
+ LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
+
+ // The version number. By default, the default version of the launch template
+ // is used.
+ Version *string `locationName:"version" type:"string"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *FleetLaunchTemplateSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
+ s.Version = &v
+ return s
+}
+
+// The launch template to use. You must specify either the launch template ID
+// or launch template name in the request.
+type FleetLaunchTemplateSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `min:"3" type:"string"`
+
+ // The version number of the launch template.
+ Version *string `type:"string"`
+}
+
+// String returns the string representation
+func (s FleetLaunchTemplateSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
+ s.Version = &v
+ return s
+}
+
+// Describes a flow log.
+type FlowLog struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the flow log was created.
+ CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Information about the error that occurred. Rate limited indicates that CloudWatch
+ // logs throttling has been applied for one or more network interfaces, or that
+ // you've reached the limit on the number of CloudWatch Logs log groups that
+ // you can create. Access error indicates that the IAM role associated with
+ // the flow log does not have sufficient permissions to publish to CloudWatch
+ // Logs. Unknown error indicates an internal error.
+ DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
+
+ // The ARN of the IAM role that posts logs to CloudWatch Logs.
+ DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
+
+ // The status of the logs delivery (SUCCESS | FAILED).
+ DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
+
+ // The flow log ID.
+ FlowLogId *string `locationName:"flowLogId" type:"string"`
+
+ // The status of the flow log (ACTIVE).
+ FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
+
+ // The name of the flow log group.
+ LogGroupName *string `locationName:"logGroupName" type:"string"`
+
+ // The ID of the resource on which the flow log was created.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+
+ // The type of traffic captured for the flow log.
+ TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
+}
+
+// String returns the string representation
+func (s FlowLog) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FlowLog) GoString() string {
+ return s.String()
+}
+
+// SetCreationTime sets the CreationTime field's value.
+func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
+ s.CreationTime = &v
+ return s
+}
+
+// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
+func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
+ s.DeliverLogsErrorMessage = &v
+ return s
+}
+
+// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
+func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
+ s.DeliverLogsPermissionArn = &v
+ return s
+}
+
+// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
+func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
+ s.DeliverLogsStatus = &v
+ return s
+}
+
+// SetFlowLogId sets the FlowLogId field's value.
+func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
+ s.FlowLogId = &v
+ return s
+}
+
+// SetFlowLogStatus sets the FlowLogStatus field's value.
+func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
+ s.FlowLogStatus = &v
+ return s
+}
+
+// SetLogGroupName sets the LogGroupName field's value.
+func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
+ s.LogGroupName = &v
+ return s
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *FlowLog) SetResourceId(v string) *FlowLog {
+ s.ResourceId = &v
+ return s
+}
+
+// SetTrafficType sets the TrafficType field's value.
+func (s *FlowLog) SetTrafficType(v string) *FlowLog {
+ s.TrafficType = &v
+ return s
+}
+
+// Describes an Amazon FPGA image (AFI).
+type FpgaImage struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the AFI was created.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The description of the AFI.
+ Description *string `locationName:"description" type:"string"`
+
+ // The global FPGA image identifier (AGFI ID).
+ FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
+
+ // The FPGA image identifier (AFI ID).
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+
+ // The name of the AFI.
+ Name *string `locationName:"name" type:"string"`
+
+ // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
+ OwnerAlias *string `locationName:"ownerAlias" type:"string"`
+
+ // The AWS account ID of the AFI owner.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // Information about the PCI bus.
+ PciId *PciId `locationName:"pciId" type:"structure"`
+
+ // The product codes for the AFI.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // Indicates whether the AFI is public.
+ Public *bool `locationName:"public" type:"boolean"`
+
+ // The version of the AWS Shell that was used to create the bitstream.
+ ShellVersion *string `locationName:"shellVersion" type:"string"`
+
+ // Information about the state of the AFI.
+ State *FpgaImageState `locationName:"state" type:"structure"`
+
+ // Any tags assigned to the AFI.
+ Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
+
+ // The time of the most recent update to the AFI.
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s FpgaImage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FpgaImage) GoString() string {
+ return s.String()
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
+ s.CreateTime = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *FpgaImage) SetDescription(v string) *FpgaImage {
+ s.Description = &v
+ return s
+}
+
+// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
+func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
+ s.FpgaImageGlobalId = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
+ s.FpgaImageId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *FpgaImage) SetName(v string) *FpgaImage {
+ s.Name = &v
+ return s
+}
+
+// SetOwnerAlias sets the OwnerAlias field's value.
+func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
+ s.OwnerAlias = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPciId sets the PciId field's value.
+func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
+ s.PciId = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
+ s.ProductCodes = v
+ return s
+}
+
+// SetPublic sets the Public field's value.
+func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
+ s.Public = &v
+ return s
+}
+
+// SetShellVersion sets the ShellVersion field's value.
+func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
+ s.ShellVersion = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
+ s.State = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
+ s.Tags = v
+ return s
+}
+
+// SetUpdateTime sets the UpdateTime field's value.
+func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
+ s.UpdateTime = &v
+ return s
+}
+
+// Describes an Amazon FPGA image (AFI) attribute.
+type FpgaImageAttribute struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the AFI.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the AFI.
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+
+ // One or more load permissions.
+ LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
+
+ // The name of the AFI.
+ Name *string `locationName:"name" type:"string"`
+
+ // One or more product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s FpgaImageAttribute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FpgaImageAttribute) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
+ s.Description = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
+ s.FpgaImageId = &v
+ return s
+}
+
+// SetLoadPermissions sets the LoadPermissions field's value.
+func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
+ s.LoadPermissions = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
+ s.Name = &v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
+ s.ProductCodes = v
+ return s
+}
+
+// Describes the state of the bitstream generation process for an Amazon FPGA
+// image (AFI).
+type FpgaImageState struct {
+ _ struct{} `type:"structure"`
+
+ // The state. The following are the possible values:
+ //
+ // * pending - AFI bitstream generation is in progress.
+ //
+ // * available - The AFI is available for use.
+ //
+ // * failed - AFI bitstream generation failed.
+ //
+ // * unavailable - The AFI is no longer available for use.
+ Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
+
+ // If the state is failed, this is the error message.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s FpgaImageState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FpgaImageState) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
+ s.Message = &v
+ return s
+}
+
+// Contains the parameters for GetConsoleOutput.
+type GetConsoleOutputInput 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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+
+ // When enabled, retrieves the latest console output for the instance.
+ //
+ // Default: disabled (false)
+ Latest *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s GetConsoleOutputInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleOutputInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetConsoleOutputInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetLatest sets the Latest field's value.
+func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
+ s.Latest = &v
+ return s
+}
+
+// Contains the output of GetConsoleOutput.
+type GetConsoleOutputOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The console output, base64-encoded. If you are using a command line tool,
+ // the tool decodes the output for you.
+ Output *string `locationName:"output" type:"string"`
+
+ // The time at which the output was last updated.
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s GetConsoleOutputOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleOutputOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetOutput sets the Output field's value.
+func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
+ s.Output = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
+ s.Timestamp = &v
+ return s
+}
+
+// Contains the parameters for the request.
+type GetConsoleScreenshotInput 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 instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+
+ // When set to true, acts as keystroke input and wakes up an instance that's
+ // in standby or "sleep" mode.
+ WakeUp *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s GetConsoleScreenshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleScreenshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetConsoleScreenshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetWakeUp sets the WakeUp field's value.
+func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
+ s.WakeUp = &v
+ return s
+}
+
+// Contains the output of the request.
+type GetConsoleScreenshotOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The data that comprises the image.
+ ImageData *string `locationName:"imageData" type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s GetConsoleScreenshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleScreenshotOutput) GoString() string {
+ return s.String()
+}
+
+// SetImageData sets the ImageData field's value.
+func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
+ s.ImageData = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
+ s.InstanceId = &v
+ return s
+}
+
+type GetHostReservationPurchasePreviewInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID/s of the Dedicated Host/s that the reservation will be associated
+ // with.
+ //
+ // HostIdSet is a required field
+ HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
+
+ // The offering ID of the reservation.
+ //
+ // OfferingId is a required field
+ OfferingId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetHostReservationPurchasePreviewInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetHostReservationPurchasePreviewInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetHostReservationPurchasePreviewInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
+ if s.HostIdSet == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
+ }
+ if s.OfferingId == nil {
+ invalidParams.Add(request.NewErrParamRequired("OfferingId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostIdSet sets the HostIdSet field's value.
+func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
+ s.HostIdSet = v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
+ s.OfferingId = &v
+ return s
+}
+
+type GetHostReservationPurchasePreviewOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
+ // are specified. At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The purchase information of the Dedicated Host Reservation and the Dedicated
+ // Hosts associated with it.
+ Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
+
+ // The potential total hourly price of the reservation per hour.
+ TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
+
+ // The potential total upfront price. This is billed immediately.
+ TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
+}
+
+// String returns the string representation
+func (s GetHostReservationPurchasePreviewOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetHostReservationPurchasePreviewOutput) GoString() string {
+ return s.String()
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetPurchase sets the Purchase field's value.
+func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
+ s.Purchase = v
+ return s
+}
+
+// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
+func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
+ s.TotalHourlyPrice = &v
+ return s
+}
+
+// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
+func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
+ s.TotalUpfrontPrice = &v
+ return s
+}
+
+type GetLaunchTemplateDataInput 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 instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetLaunchTemplateDataInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetLaunchTemplateDataInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetLaunchTemplateDataInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
+ s.InstanceId = &v
+ return s
+}
+
+type GetLaunchTemplateDataOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The instance data.
+ LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
+}
+
+// String returns the string representation
+func (s GetLaunchTemplateDataOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetLaunchTemplateDataOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateData sets the LaunchTemplateData field's value.
+func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
+ s.LaunchTemplateData = v
+ return s
+}
+
+// Contains the parameters for GetPasswordData.
+type GetPasswordDataInput 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"`
+
+ // The ID of the Windows instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetPasswordDataInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPasswordDataInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetPasswordDataInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
+ s.InstanceId = &v
+ return s
+}
+
+// Contains the output of GetPasswordData.
+type GetPasswordDataOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the Windows instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The password of the instance. Returns an empty string if the password is
+ // not available.
+ PasswordData *string `locationName:"passwordData" type:"string"`
+
+ // The time the data was last updated.
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s GetPasswordDataOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPasswordDataOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetPasswordData sets the PasswordData field's value.
+func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
+ s.PasswordData = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
+ s.Timestamp = &v
+ return s
+}
+
+// Contains the parameters for GetReservedInstanceExchangeQuote.
+type GetReservedInstancesExchangeQuoteInput 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 IDs of the Convertible Reserved Instances to exchange.
+ //
+ // ReservedInstanceIds is a required field
+ ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
+
+ // The configuration of the target Convertible Reserved Instance to exchange
+ // for your current Convertible Reserved Instances.
+ TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
+}
+
+// String returns the string representation
+func (s GetReservedInstancesExchangeQuoteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
+ if s.ReservedInstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
+ }
+ if s.TargetConfigurations != nil {
+ for i, v := range s.TargetConfigurations {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
+func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
+ s.ReservedInstanceIds = v
+ return s
+}
+
+// SetTargetConfigurations sets the TargetConfigurations field's value.
+func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
+ s.TargetConfigurations = v
+ return s
+}
+
+// Contains the output of GetReservedInstancesExchangeQuote.
+type GetReservedInstancesExchangeQuoteOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The currency of the transaction.
+ CurrencyCode *string `locationName:"currencyCode" type:"string"`
+
+ // If true, the exchange is valid. If false, the exchange cannot be completed.
+ IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
+
+ // The new end date of the reservation term.
+ OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The total true upfront charge for the exchange.
+ PaymentDue *string `locationName:"paymentDue" type:"string"`
+
+ // The cost associated with the Reserved Instance.
+ ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
+
+ // The configuration of your Convertible Reserved Instances.
+ ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
+
+ // The cost associated with the Reserved Instance.
+ TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
+
+ // The values of the target Convertible Reserved Instances.
+ TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
+
+ // Describes the reason why the exchange cannot be completed.
+ ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
+}
+
+// String returns the string representation
+func (s GetReservedInstancesExchangeQuoteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
+ return s.String()
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetIsValidExchange sets the IsValidExchange field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
+ s.IsValidExchange = &v
+ return s
+}
+
+// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
+ s.OutputReservedInstancesWillExpireAt = &v
+ return s
+}
+
+// SetPaymentDue sets the PaymentDue field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
+ s.PaymentDue = &v
+ return s
+}
+
+// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
+ s.ReservedInstanceValueRollup = v
+ return s
+}
+
+// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
+ s.ReservedInstanceValueSet = v
+ return s
+}
+
+// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
+ s.TargetConfigurationValueRollup = v
+ return s
+}
+
+// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
+ s.TargetConfigurationValueSet = v
+ return s
+}
+
+// SetValidationFailureReason sets the ValidationFailureReason field's value.
+func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
+ s.ValidationFailureReason = &v
+ return s
+}
+
+// Describes a security group.
+type GroupIdentifier struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the security group.
+ GroupId *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" 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()
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
+ s.GroupName = &v
+ return s
+}
+
+// Describes an event in the history of the Spot Fleet request.
+type HistoryRecord struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the event.
+ //
+ // EventInformation is a required field
+ EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
+
+ // The event type.
+ //
+ // * error - An error with the Spot Fleet request.
+ //
+ // * fleetRequestChange - A change in the status or configuration of the
+ // Spot Fleet request.
+ //
+ // * 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"`
+
+ // 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" timestampFormat:"iso8601" required:"true"`
+}
+
+// String returns the string representation
+func (s HistoryRecord) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HistoryRecord) GoString() string {
+ return s.String()
+}
+
+// SetEventInformation sets the EventInformation field's value.
+func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
+ s.EventInformation = v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
+ s.EventType = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
+ s.Timestamp = &v
+ return s
+}
+
+// Describes an event in the history of an EC2 Fleet.
+type HistoryRecordEntry struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the event.
+ EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
+
+ // The event type.
+ EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
+
+ // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s HistoryRecordEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HistoryRecordEntry) GoString() string {
+ return s.String()
+}
+
+// SetEventInformation sets the EventInformation field's value.
+func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
+ s.EventInformation = v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
+ s.EventType = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
+ s.Timestamp = &v
+ return s
+}
+
+// Describes the properties of the Dedicated Host.
+type Host struct {
+ _ struct{} `type:"structure"`
+
+ // The time that the Dedicated Host was allocated.
+ AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Whether auto-placement is on or off.
+ AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
+
+ // The Availability Zone of the Dedicated Host.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of new instances that can be launched onto the Dedicated Host.
+ AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The ID of the Dedicated Host.
+ HostId *string `locationName:"hostId" type:"string"`
+
+ // The hardware specifications of the Dedicated Host.
+ HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
+
+ // The reservation ID of the Dedicated Host. This returns a null response if
+ // the Dedicated Host doesn't have an associated reservation.
+ HostReservationId *string `locationName:"hostReservationId" type:"string"`
+
+ // The IDs and instance type that are currently running on the Dedicated Host.
+ Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
+
+ // The time that the Dedicated Host was released.
+ ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The Dedicated Host's state.
+ State *string `locationName:"state" type:"string" enum:"AllocationState"`
+
+ // Any tags assigned to the Dedicated Host.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s Host) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Host) GoString() string {
+ return s.String()
+}
+
+// SetAllocationTime sets the AllocationTime field's value.
+func (s *Host) SetAllocationTime(v time.Time) *Host {
+ s.AllocationTime = &v
+ return s
+}
+
+// SetAutoPlacement sets the AutoPlacement field's value.
+func (s *Host) SetAutoPlacement(v string) *Host {
+ s.AutoPlacement = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *Host) SetAvailabilityZone(v string) *Host {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetAvailableCapacity sets the AvailableCapacity field's value.
+func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
+ s.AvailableCapacity = v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *Host) SetClientToken(v string) *Host {
+ s.ClientToken = &v
+ return s
+}
+
+// SetHostId sets the HostId field's value.
+func (s *Host) SetHostId(v string) *Host {
+ s.HostId = &v
+ return s
+}
+
+// SetHostProperties sets the HostProperties field's value.
+func (s *Host) SetHostProperties(v *HostProperties) *Host {
+ s.HostProperties = v
+ return s
+}
+
+// SetHostReservationId sets the HostReservationId field's value.
+func (s *Host) SetHostReservationId(v string) *Host {
+ s.HostReservationId = &v
+ return s
+}
+
+// SetInstances sets the Instances field's value.
+func (s *Host) SetInstances(v []*HostInstance) *Host {
+ s.Instances = v
+ return s
+}
+
+// SetReleaseTime sets the ReleaseTime field's value.
+func (s *Host) SetReleaseTime(v time.Time) *Host {
+ s.ReleaseTime = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Host) SetState(v string) *Host {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Host) SetTags(v []*Tag) *Host {
+ s.Tags = v
+ return s
+}
+
+// Describes an instance running on a Dedicated Host.
+type HostInstance struct {
+ _ struct{} `type:"structure"`
+
+ // the IDs of instances that are running on the Dedicated Host.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The instance type size (for example, m3.medium) of the running instance.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+}
+
+// String returns the string representation
+func (s HostInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HostInstance) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *HostInstance) SetInstanceId(v string) *HostInstance {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *HostInstance) SetInstanceType(v string) *HostInstance {
+ s.InstanceType = &v
+ return s
+}
+
+// Details about the Dedicated Host Reservation offering.
+type HostOffering struct {
+ _ struct{} `type:"structure"`
+
+ // The currency of the offering.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the offering (in seconds).
+ Duration *int64 `locationName:"duration" type:"integer"`
+
+ // The hourly price of the offering.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The instance family of the offering.
+ InstanceFamily *string `locationName:"instanceFamily" type:"string"`
+
+ // The ID of the offering.
+ OfferingId *string `locationName:"offeringId" type:"string"`
+
+ // The available payment option.
+ PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
+
+ // The upfront price of the offering. Does not apply to No Upfront offerings.
+ UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
+}
+
+// String returns the string representation
+func (s HostOffering) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HostOffering) GoString() string {
+ return s.String()
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetDuration sets the Duration field's value.
+func (s *HostOffering) SetDuration(v int64) *HostOffering {
+ s.Duration = &v
+ return s
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
+ s.InstanceFamily = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *HostOffering) SetOfferingId(v string) *HostOffering {
+ s.OfferingId = &v
+ return s
+}
+
+// SetPaymentOption sets the PaymentOption field's value.
+func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
+ s.PaymentOption = &v
+ return s
+}
+
+// SetUpfrontPrice sets the UpfrontPrice field's value.
+func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
+ s.UpfrontPrice = &v
+ return s
+}
+
+// Describes properties of a Dedicated Host.
+type HostProperties struct {
+ _ struct{} `type:"structure"`
+
+ // The number of cores on the Dedicated Host.
+ Cores *int64 `locationName:"cores" type:"integer"`
+
+ // The instance type size that the Dedicated Host supports (for example, m3.medium).
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The number of sockets on the Dedicated Host.
+ Sockets *int64 `locationName:"sockets" type:"integer"`
+
+ // The number of vCPUs on the Dedicated Host.
+ TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
+}
+
+// String returns the string representation
+func (s HostProperties) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HostProperties) GoString() string {
+ return s.String()
+}
+
+// SetCores sets the Cores field's value.
+func (s *HostProperties) SetCores(v int64) *HostProperties {
+ s.Cores = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *HostProperties) SetInstanceType(v string) *HostProperties {
+ s.InstanceType = &v
+ return s
+}
+
+// SetSockets sets the Sockets field's value.
+func (s *HostProperties) SetSockets(v int64) *HostProperties {
+ s.Sockets = &v
+ return s
+}
+
+// SetTotalVCpus sets the TotalVCpus field's value.
+func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
+ s.TotalVCpus = &v
+ return s
+}
+
+// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
+type HostReservation struct {
+ _ struct{} `type:"structure"`
+
+ // The number of Dedicated Hosts the reservation is associated with.
+ Count *int64 `locationName:"count" type:"integer"`
+
+ // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
+ // At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The length of the reservation's term, specified in seconds. Can be 31536000
+ // (1 year) | 94608000 (3 years).
+ Duration *int64 `locationName:"duration" type:"integer"`
+
+ // The date and time that the reservation ends.
+ End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The IDs of the Dedicated Hosts associated with the reservation.
+ HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
+
+ // The ID of the reservation that specifies the associated Dedicated Hosts.
+ HostReservationId *string `locationName:"hostReservationId" type:"string"`
+
+ // The hourly price of the reservation.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The instance family of the Dedicated Host Reservation. The instance family
+ // on the Dedicated Host must be the same in order for it to benefit from the
+ // reservation.
+ InstanceFamily *string `locationName:"instanceFamily" type:"string"`
+
+ // The ID of the reservation. This remains the same regardless of which Dedicated
+ // Hosts are associated with it.
+ OfferingId *string `locationName:"offeringId" type:"string"`
+
+ // The payment option selected for this reservation.
+ PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
+
+ // The date and time that the reservation started.
+ Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The state of the reservation.
+ State *string `locationName:"state" type:"string" enum:"ReservationState"`
+
+ // The upfront price of the reservation.
+ UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
+}
+
+// String returns the string representation
+func (s HostReservation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HostReservation) GoString() string {
+ return s.String()
+}
+
+// SetCount sets the Count field's value.
+func (s *HostReservation) SetCount(v int64) *HostReservation {
+ s.Count = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetDuration sets the Duration field's value.
+func (s *HostReservation) SetDuration(v int64) *HostReservation {
+ s.Duration = &v
+ return s
+}
+
+// SetEnd sets the End field's value.
+func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
+ s.End = &v
+ return s
+}
+
+// SetHostIdSet sets the HostIdSet field's value.
+func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
+ s.HostIdSet = v
+ return s
+}
+
+// SetHostReservationId sets the HostReservationId field's value.
+func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
+ s.HostReservationId = &v
+ return s
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
+ s.InstanceFamily = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *HostReservation) SetOfferingId(v string) *HostReservation {
+ s.OfferingId = &v
+ return s
+}
+
+// SetPaymentOption sets the PaymentOption field's value.
+func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
+ s.PaymentOption = &v
+ return s
+}
+
+// SetStart sets the Start field's value.
+func (s *HostReservation) SetStart(v time.Time) *HostReservation {
+ s.Start = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *HostReservation) SetState(v string) *HostReservation {
+ s.State = &v
+ return s
+}
+
+// SetUpfrontPrice sets the UpfrontPrice field's value.
+func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
+ s.UpfrontPrice = &v
+ return s
+}
+
+// Describes an IAM instance profile.
+type IamInstanceProfile struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the instance profile.
+ Arn *string `locationName:"arn" type:"string"`
+
+ // The ID of the instance profile.
+ Id *string `locationName:"id" type:"string"`
+}
+
+// String returns the string representation
+func (s IamInstanceProfile) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IamInstanceProfile) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
+ s.Arn = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
+ s.Id = &v
+ return s
+}
+
+// Describes an association between an IAM instance profile and an instance.
+type IamInstanceProfileAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the association.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The state of the association.
+ State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
+
+ // The time the IAM instance profile was associated with the instance.
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s IamInstanceProfileAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IamInstanceProfileAssociation) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
+ s.AssociationId = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
+ s.InstanceId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
+ s.State = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
+ s.Timestamp = &v
+ return s
+}
+
+// Describes an IAM instance profile.
+type IamInstanceProfileSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the instance profile.
+ Arn *string `locationName:"arn" type:"string"`
+
+ // The name of the instance profile.
+ Name *string `locationName:"name" type:"string"`
+}
+
+// String returns the string representation
+func (s IamInstanceProfileSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IamInstanceProfileSpecification) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
+ s.Arn = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
+ s.Name = &v
+ return s
+}
+
+// Describes the ICMP type and code.
+type IcmpTypeCode struct {
+ _ struct{} `type:"structure"`
+
+ // The ICMP code. A value of -1 means all codes for the specified ICMP type.
+ Code *int64 `locationName:"code" type:"integer"`
+
+ // The ICMP type. A value of -1 means all types.
+ Type *int64 `locationName:"type" type:"integer"`
+}
+
+// String returns the string representation
+func (s IcmpTypeCode) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IcmpTypeCode) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
+ s.Code = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
+ s.Type = &v
+ return s
+}
+
+// Describes the ID format for a resource.
+type IdFormat struct {
+ _ struct{} `type:"structure"`
+
+ // The date in UTC at which you are permanently switched over to using longer
+ // IDs. If a deadline is not yet available for this resource type, this field
+ // is not returned.
+ Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The type of resource.
+ Resource *string `locationName:"resource" type:"string"`
+
+ // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
+ UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
+}
+
+// String returns the string representation
+func (s IdFormat) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IdFormat) GoString() string {
+ return s.String()
+}
+
+// SetDeadline sets the Deadline field's value.
+func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
+ s.Deadline = &v
+ return s
+}
+
+// SetResource sets the Resource field's value.
+func (s *IdFormat) SetResource(v string) *IdFormat {
+ s.Resource = &v
+ return s
+}
+
+// SetUseLongIds sets the UseLongIds field's value.
+func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
+ s.UseLongIds = &v
+ return s
+}
+
+// Describes an image.
+type Image struct {
+ _ struct{} `type:"structure"`
+
+ // The architecture of the image.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // Any block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // The date and time the image was created.
+ CreationDate *string `locationName:"creationDate" type:"string"`
+
+ // The description of the AMI that was provided during image creation.
+ Description *string `locationName:"description" type:"string"`
+
+ // Specifies whether enhanced networking with ENA is enabled.
+ EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
+
+ // The hypervisor type of the image.
+ Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
+
+ // The ID of the AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The location of the AMI.
+ ImageLocation *string `locationName:"imageLocation" type:"string"`
+
+ // The AWS account alias (for example, amazon, self) or the AWS account ID of
+ // the AMI owner.
+ ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
+
+ // The type of image.
+ ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
+
+ // The kernel associated with the image, if any. Only applicable for machine
+ // images.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the AMI that was provided during image creation.
+ Name *string `locationName:"name" type:"string"`
+
+ // The AWS account ID of the image owner.
+ OwnerId *string `locationName:"imageOwnerId" type:"string"`
+
+ // The value is Windows for Windows AMIs; otherwise blank.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // Any product codes associated with the AMI.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // Indicates whether the image has public launch permissions. The value is true
+ // if this image has public launch permissions or false if it has only implicit
+ // and explicit launch permissions.
+ Public *bool `locationName:"isPublic" type:"boolean"`
+
+ // The RAM disk associated with the image, if any. Only applicable for machine
+ // images.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // The device name of the root device volume (for example, /dev/sda1).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // The type of root device used by the AMI. The AMI can use an EBS volume or
+ // an instance store volume.
+ RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
+
+ // Specifies whether enhanced networking with the Intel 82599 Virtual Function
+ // interface is enabled.
+ SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // The current state of the AMI. If the state is available, the image is successfully
+ // registered and can be used to launch an instance.
+ State *string `locationName:"imageState" type:"string" enum:"ImageState"`
+
+ // The reason for the state change.
+ StateReason *StateReason `locationName:"stateReason" type:"structure"`
+
+ // Any tags assigned to the image.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of virtualization of the AMI.
+ VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
+}
+
+// String returns the string representation
+func (s Image) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Image) GoString() string {
+ return s.String()
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *Image) SetArchitecture(v string) *Image {
+ s.Architecture = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetCreationDate sets the CreationDate field's value.
+func (s *Image) SetCreationDate(v string) *Image {
+ s.CreationDate = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *Image) SetDescription(v string) *Image {
+ s.Description = &v
+ return s
+}
+
+// SetEnaSupport sets the EnaSupport field's value.
+func (s *Image) SetEnaSupport(v bool) *Image {
+ s.EnaSupport = &v
+ return s
+}
+
+// SetHypervisor sets the Hypervisor field's value.
+func (s *Image) SetHypervisor(v string) *Image {
+ s.Hypervisor = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *Image) SetImageId(v string) *Image {
+ s.ImageId = &v
+ return s
+}
+
+// SetImageLocation sets the ImageLocation field's value.
+func (s *Image) SetImageLocation(v string) *Image {
+ s.ImageLocation = &v
+ return s
+}
+
+// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
+func (s *Image) SetImageOwnerAlias(v string) *Image {
+ s.ImageOwnerAlias = &v
+ return s
+}
+
+// SetImageType sets the ImageType field's value.
+func (s *Image) SetImageType(v string) *Image {
+ s.ImageType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *Image) SetKernelId(v string) *Image {
+ s.KernelId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *Image) SetName(v string) *Image {
+ s.Name = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *Image) SetOwnerId(v string) *Image {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *Image) SetPlatform(v string) *Image {
+ s.Platform = &v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *Image) SetProductCodes(v []*ProductCode) *Image {
+ s.ProductCodes = v
+ return s
+}
+
+// SetPublic sets the Public field's value.
+func (s *Image) SetPublic(v bool) *Image {
+ s.Public = &v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *Image) SetRamdiskId(v string) *Image {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetRootDeviceName sets the RootDeviceName field's value.
+func (s *Image) SetRootDeviceName(v string) *Image {
+ s.RootDeviceName = &v
+ return s
+}
+
+// SetRootDeviceType sets the RootDeviceType field's value.
+func (s *Image) SetRootDeviceType(v string) *Image {
+ s.RootDeviceType = &v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *Image) SetSriovNetSupport(v string) *Image {
+ s.SriovNetSupport = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Image) SetState(v string) *Image {
+ s.State = &v
+ return s
+}
+
+// SetStateReason sets the StateReason field's value.
+func (s *Image) SetStateReason(v *StateReason) *Image {
+ s.StateReason = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Image) SetTags(v []*Tag) *Image {
+ s.Tags = v
+ return s
+}
+
+// SetVirtualizationType sets the VirtualizationType field's value.
+func (s *Image) SetVirtualizationType(v string) *Image {
+ s.VirtualizationType = &v
+ return s
+}
+
+// Describes the disk container object for an import image task.
+type ImageDiskContainer struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the disk image.
+ Description *string `type:"string"`
+
+ // The block device mapping for the disk.
+ DeviceName *string `type:"string"`
+
+ // The format of the disk image being imported.
+ //
+ // Valid values: VHD | VMDK | OVA
+ Format *string `type:"string"`
+
+ // The ID of the EBS snapshot to be used for importing the snapshot.
+ SnapshotId *string `type:"string"`
+
+ // The URL to the Amazon S3-based disk image being imported. The URL can either
+ // be a https URL (https://..) or an Amazon S3 URL (s3://..)
+ Url *string `type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucket `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImageDiskContainer) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImageDiskContainer) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
+ s.DeviceName = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
+ s.Format = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetUrl sets the Url field's value.
+func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
+ s.Url = &v
+ return s
+}
+
+// SetUserBucket sets the UserBucket field's value.
+func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
+ s.UserBucket = v
+ return s
+}
+
+// Contains the parameters for ImportImage.
+type ImportImageInput struct {
+ _ struct{} `type:"structure"`
+
+ // The architecture of the virtual machine.
+ //
+ // Valid values: i386 | x86_64
+ Architecture *string `type:"string"`
+
+ // The client-specific data.
+ ClientData *ClientData `type:"structure"`
+
+ // The token to enable idempotency for VM import requests.
+ ClientToken *string `type:"string"`
+
+ // A description string for the import image task.
+ Description *string `type:"string"`
+
+ // Information about the disk containers.
+ DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" 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 target hypervisor platform.
+ //
+ // Valid values: xen
+ Hypervisor *string `type:"string"`
+
+ // The license type to be used for the Amazon Machine Image (AMI) after importing.
+ //
+ // 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)
+ // in the VM Import/Export User Guide.
+ //
+ // Valid values: AWS | BYOL
+ LicenseType *string `type:"string"`
+
+ // The operating system of the virtual machine.
+ //
+ // Valid values: Windows | Linux
+ Platform *string `type:"string"`
+
+ // The name of the role to use when not using the default role, 'vmimport'.
+ RoleName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ImportImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageInput) GoString() string {
+ return s.String()
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
+ s.Architecture = &v
+ return s
+}
+
+// SetClientData sets the ClientData field's value.
+func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
+ s.ClientData = v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDiskContainers sets the DiskContainers field's value.
+func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
+ s.DiskContainers = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetHypervisor sets the Hypervisor field's value.
+func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
+ s.Hypervisor = &v
+ return s
+}
+
+// SetLicenseType sets the LicenseType field's value.
+func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
+ s.LicenseType = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
+ s.Platform = &v
+ return s
+}
+
+// SetRoleName sets the RoleName field's value.
+func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
+ s.RoleName = &v
+ return s
+}
+
+// Contains the output for ImportImage.
+type ImportImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The architecture of the virtual machine.
+ Architecture *string `locationName:"architecture" type:"string"`
+
+ // A description of the import task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The target hypervisor of the import task.
+ Hypervisor *string `locationName:"hypervisor" type:"string"`
+
+ // The ID of the Amazon Machine Image (AMI) created by the import task.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The task ID of the import image task.
+ ImportTaskId *string `locationName:"importTaskId" type:"string"`
+
+ // The license type of the virtual machine.
+ LicenseType *string `locationName:"licenseType" type:"string"`
+
+ // The operating system of the virtual machine.
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The progress of the task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // Information about the snapshots.
+ SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
+
+ // A brief status of the task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message of the import task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s ImportImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
+ s.Architecture = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
+ s.Description = &v
+ return s
+}
+
+// SetHypervisor sets the Hypervisor field's value.
+func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
+ s.Hypervisor = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
+ s.ImageId = &v
+ return s
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
+ s.ImportTaskId = &v
+ return s
+}
+
+// SetLicenseType sets the LicenseType field's value.
+func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
+ s.LicenseType = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
+ s.Platform = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotDetails sets the SnapshotDetails field's value.
+func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
+ s.SnapshotDetails = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes an import image task.
+type ImportImageTask struct {
+ _ struct{} `type:"structure"`
+
+ // The architecture of the virtual machine.
+ //
+ // Valid values: i386 | x86_64
+ Architecture *string `locationName:"architecture" type:"string"`
+
+ // A description of the import task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The target hypervisor for the import task.
+ //
+ // Valid values: xen
+ Hypervisor *string `locationName:"hypervisor" type:"string"`
+
+ // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The ID of the import image task.
+ ImportTaskId *string `locationName:"importTaskId" type:"string"`
+
+ // The license type of the virtual machine.
+ LicenseType *string `locationName:"licenseType" type:"string"`
+
+ // The description string for the import image task.
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The percentage of progress of the import image task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // Information about the snapshots.
+ SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
+
+ // A brief status for the import image task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A descriptive status message for the import image task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s ImportImageTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageTask) GoString() string {
+ return s.String()
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
+ s.Architecture = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
+ s.Description = &v
+ return s
+}
+
+// SetHypervisor sets the Hypervisor field's value.
+func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
+ s.Hypervisor = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
+ s.ImageId = &v
+ return s
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
+ s.ImportTaskId = &v
+ return s
+}
+
+// SetLicenseType sets the LicenseType field's value.
+func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
+ s.LicenseType = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
+ s.Platform = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotDetails sets the SnapshotDetails field's value.
+func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
+ s.SnapshotDetails = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
+ s.StatusMessage = &v
+ return s
+}
+
+// Contains the parameters for ImportInstance.
+type ImportInstanceInput struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the instance being imported.
+ Description *string `locationName:"description" type:"string"`
+
+ // The disk image.
+ DiskImages []*DiskImage `locationName:"diskImage" 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"`
+
+ // The launch specification.
+ LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
+
+ // The instance operating system.
+ //
+ // Platform is a required field
+ Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
+}
+
+// String returns the string representation
+func (s ImportInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ImportInstanceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
+ if s.Platform == nil {
+ invalidParams.Add(request.NewErrParamRequired("Platform"))
+ }
+ if s.DiskImages != nil {
+ for i, v := range s.DiskImages {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
+ s.Description = &v
+ return s
+}
+
+// SetDiskImages sets the DiskImages field's value.
+func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
+ s.DiskImages = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchSpecification sets the LaunchSpecification field's value.
+func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
+ s.LaunchSpecification = v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
+ s.Platform = &v
+ return s
+}
+
+// Describes the launch specification for VM import.
+type ImportInstanceLaunchSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
+
+ // The architecture of the instance.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // One or more security group IDs.
+ GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // One or more security group names.
+ GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ 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)
+ // in the VM Import/Export User Guide.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // Indicates whether monitoring is enabled.
+ Monitoring *bool `locationName:"monitoring" type:"boolean"`
+
+ // The placement information for the instance.
+ Placement *Placement `locationName:"placement" type:"structure"`
+
+ // [EC2-VPC] An available IP address from the IP address range of the subnet.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // [EC2-VPC] The ID of the subnet in which to launch the instance.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded user data to make available to the instance.
+ UserData *UserData `locationName:"userData" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// SetAdditionalInfo sets the AdditionalInfo field's value.
+func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
+ s.AdditionalInfo = &v
+ return s
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
+ s.Architecture = &v
+ return s
+}
+
+// SetGroupIds sets the GroupIds field's value.
+func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
+ s.GroupIds = v
+ return s
+}
+
+// SetGroupNames sets the GroupNames field's value.
+func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
+ s.GroupNames = v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
+ s.InstanceInitiatedShutdownBehavior = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
+ s.Monitoring = &v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
+ s.Placement = v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
+ s.UserData = v
+ return s
+}
+
+// Contains the output for ImportInstance.
+type ImportInstanceOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the conversion task.
+ ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// SetConversionTask sets the ConversionTask field's value.
+func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
+ s.ConversionTask = v
+ return s
+}
+
+// Describes an import instance task.
+type ImportInstanceTaskDetails struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The instance operating system.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // One or more volumes.
+ Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ImportInstanceTaskDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceTaskDetails) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
+ s.Description = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
+ s.InstanceId = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
+ s.Platform = &v
+ return s
+}
+
+// SetVolumes sets the Volumes field's value.
+func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
+ s.Volumes = v
+ return s
+}
+
+// Describes an import volume task.
+type ImportInstanceVolumeDetailItem struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone where the resulting instance will reside.
+ //
+ // AvailabilityZone is a required field
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
+
+ // The number of bytes converted so far.
+ //
+ // BytesConverted is a required field
+ BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
+
+ // A description of the task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The image.
+ //
+ // Image is a required field
+ Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
+
+ // The status of the import of this particular disk image.
+ //
+ // Status is a required field
+ Status *string `locationName:"status" type:"string" required:"true"`
+
+ // The status information or errors related to the disk image.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The volume.
+ //
+ // Volume is a required field
+ Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s ImportInstanceVolumeDetailItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceVolumeDetailItem) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetBytesConverted sets the BytesConverted field's value.
+func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
+ s.BytesConverted = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
+ s.Description = &v
+ return s
+}
+
+// SetImage sets the Image field's value.
+func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
+ s.Image = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetVolume sets the Volume field's value.
+func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
+ s.Volume = v
+ return s
+}
+
+// Contains the parameters for ImportKeyPair.
+type ImportKeyPairInput 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"`
+
+ // A unique name for the key pair.
+ //
+ // KeyName is a required field
+ KeyName *string `locationName:"keyName" type:"string" required:"true"`
+
+ // The public key. For API calls, the text must be base64-encoded. For command
+ // line tools, base64 encoding is performed for you.
+ //
+ // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
+ //
+ // PublicKeyMaterial is a required field
+ PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
+}
+
+// String returns the string representation
+func (s ImportKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportKeyPairInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ImportKeyPairInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
+ if s.KeyName == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyName"))
+ }
+ if s.PublicKeyMaterial == nil {
+ invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
+ s.KeyName = &v
+ return s
+}
+
+// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
+func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
+ s.PublicKeyMaterial = v
+ return s
+}
+
+// Contains the output of ImportKeyPair.
+type ImportKeyPairOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // The key pair name you provided.
+ KeyName *string `locationName:"keyName" type:"string"`
+}
+
+// String returns the string representation
+func (s ImportKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyFingerprint sets the KeyFingerprint field's value.
+func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
+ s.KeyFingerprint = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
+ s.KeyName = &v
+ return s
+}
+
+// Contains the parameters for ImportSnapshot.
+type ImportSnapshotInput struct {
+ _ struct{} `type:"structure"`
+
+ // The client-specific data.
+ ClientData *ClientData `type:"structure"`
+
+ // Token to enable idempotency for VM import requests.
+ ClientToken *string `type:"string"`
+
+ // The description string for the import snapshot task.
+ Description *string `type:"string"`
+
+ // Information about the disk container.
+ DiskContainer *SnapshotDiskContainer `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 name of the role to use when not using the default role, 'vmimport'.
+ RoleName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// SetClientData sets the ClientData field's value.
+func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
+ s.ClientData = v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
+ s.Description = &v
+ return s
+}
+
+// SetDiskContainer sets the DiskContainer field's value.
+func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
+ s.DiskContainer = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRoleName sets the RoleName field's value.
+func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
+ s.RoleName = &v
+ return s
+}
+
+// Contains the output for ImportSnapshot.
+type ImportSnapshotOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the import snapshot task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the import snapshot task.
+ ImportTaskId *string `locationName:"importTaskId" type:"string"`
+
+ // Information about the import snapshot task.
+ SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
+ s.Description = &v
+ return s
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
+ s.ImportTaskId = &v
+ return s
+}
+
+// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
+func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
+ s.SnapshotTaskDetail = v
+ return s
+}
+
+// Describes an import snapshot task.
+type ImportSnapshotTask struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the import snapshot task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the import snapshot task.
+ ImportTaskId *string `locationName:"importTaskId" type:"string"`
+
+ // Describes an import snapshot task.
+ SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotTask) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
+ s.Description = &v
+ return s
+}
+
+// SetImportTaskId sets the ImportTaskId field's value.
+func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
+ s.ImportTaskId = &v
+ return s
+}
+
+// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
+func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
+ s.SnapshotTaskDetail = v
+ return s
+}
+
+// Contains the parameters for ImportVolume.
+type ImportVolumeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone for the resulting EBS volume.
+ //
+ // AvailabilityZone is a required field
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
+
+ // A description of the volume.
+ Description *string `locationName:"description" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The disk image.
+ //
+ // Image is a required field
+ Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
+
+ // The volume size.
+ //
+ // Volume is a required field
+ Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s ImportVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ImportVolumeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
+ if s.AvailabilityZone == nil {
+ invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
+ }
+ if s.Image == nil {
+ invalidParams.Add(request.NewErrParamRequired("Image"))
+ }
+ if s.Volume == nil {
+ invalidParams.Add(request.NewErrParamRequired("Volume"))
+ }
+ if s.Image != nil {
+ if err := s.Image.Validate(); err != nil {
+ invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Volume != nil {
+ if err := s.Volume.Validate(); err != nil {
+ invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImage sets the Image field's value.
+func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
+ s.Image = v
+ return s
+}
+
+// SetVolume sets the Volume field's value.
+func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
+ s.Volume = v
+ return s
+}
+
+// Contains the output for ImportVolume.
+type ImportVolumeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the conversion task.
+ ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportVolumeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeOutput) GoString() string {
+ return s.String()
+}
+
+// SetConversionTask sets the ConversionTask field's value.
+func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
+ s.ConversionTask = v
+ return s
+}
+
+// Describes an import volume task.
+type ImportVolumeTaskDetails struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone where the resulting volume will reside.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of bytes converted so far.
+ BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
+
+ // The description you provided when starting the import volume task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The image.
+ Image *DiskImageDescription `locationName:"image" type:"structure"`
+
+ // The volume.
+ Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportVolumeTaskDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeTaskDetails) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetBytesConverted sets the BytesConverted field's value.
+func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
+ s.BytesConverted = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
+ s.Description = &v
+ return s
+}
+
+// SetImage sets the Image field's value.
+func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
+ s.Image = v
+ return s
+}
+
+// SetVolume sets the Volume field's value.
+func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
+ s.Volume = v
+ return s
+}
+
+// Describes an instance.
+type Instance struct {
+ _ struct{} `type:"structure"`
+
+ // The AMI launch index, which can be used to find this instance in the launch
+ // group.
+ AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
+
+ // The architecture of the image.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // Any block device mapping entries for the instance.
+ BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // The idempotency token you provided when you launched the instance, if applicable.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The CPU options for the instance.
+ CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
+
+ // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The Elastic GPU associated with the instance.
+ ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
+
+ // Specifies whether enhanced networking with ENA is enabled.
+ EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
+
+ // The hypervisor type of the instance.
+ Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
+
+ // The IAM instance profile associated with the instance, if applicable.
+ IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI used to launch the instance.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // Indicates whether this is a Spot Instance or a Scheduled Instance.
+ InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The kernel associated with this instance, if applicable.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair, if this instance was launched with an associated
+ // key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // The time the instance was launched.
+ LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The monitoring for the instance.
+ Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
+
+ // [EC2-VPC] One or more network interfaces for the instance.
+ NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The location where the instance launched, if applicable.
+ Placement *Placement `locationName:"placement" type:"structure"`
+
+ // The value is Windows for Windows instances; otherwise blank.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // (IPv4 only) The private DNS hostname name assigned to the instance. This
+ // DNS hostname can only be used inside the Amazon EC2 network. This name is
+ // not available until the instance enters the running state.
+ //
+ // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
+ // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
+ // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
+ // custom domain name servers must resolve the hostname as appropriate.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IPv4 address assigned to the instance.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The product codes attached to this instance, if applicable.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // (IPv4 only) The public DNS name assigned to the instance. This name is not
+ // available until the instance enters the running state. For EC2-VPC, this
+ // name is only available if you've enabled DNS hostnames for your VPC.
+ PublicDnsName *string `locationName:"dnsName" type:"string"`
+
+ // The public IPv4 address assigned to the instance, if applicable.
+ PublicIpAddress *string `locationName:"ipAddress" type:"string"`
+
+ // The RAM disk associated with this instance, if applicable.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // The device name of the root device volume (for example, /dev/sda1).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // The root device type used by the AMI. The AMI can use an EBS volume or an
+ // instance store volume.
+ RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
+
+ // One or more security groups for the instance.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // Specifies whether to enable an instance launched in a VPC to perform NAT.
+ // 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)
+ // in the Amazon Virtual Private Cloud User Guide.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // If the request is a Spot Instance request, the ID of the request.
+ SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // Specifies whether enhanced networking with the Intel 82599 Virtual Function
+ // interface is enabled.
+ SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // The current state of the instance.
+ State *InstanceState `locationName:"instanceState" type:"structure"`
+
+ // The reason for the most recent state transition.
+ StateReason *StateReason `locationName:"stateReason" type:"structure"`
+
+ // The reason for the most recent state transition. This might be an empty string.
+ StateTransitionReason *string `locationName:"reason" type:"string"`
+
+ // [EC2-VPC] The ID of the subnet in which the instance is running.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the instance.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The virtualization type of the instance.
+ VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
+
+ // [EC2-VPC] The ID of the VPC in which the instance is running.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s Instance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Instance) GoString() string {
+ return s.String()
+}
+
+// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
+func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
+ s.AmiLaunchIndex = &v
+ return s
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *Instance) SetArchitecture(v string) *Instance {
+ s.Architecture = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *Instance) SetClientToken(v string) *Instance {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCpuOptions sets the CpuOptions field's value.
+func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
+ s.CpuOptions = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *Instance) SetEbsOptimized(v bool) *Instance {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
+func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
+ s.ElasticGpuAssociations = v
+ return s
+}
+
+// SetEnaSupport sets the EnaSupport field's value.
+func (s *Instance) SetEnaSupport(v bool) *Instance {
+ s.EnaSupport = &v
+ return s
+}
+
+// SetHypervisor sets the Hypervisor field's value.
+func (s *Instance) SetHypervisor(v string) *Instance {
+ s.Hypervisor = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *Instance) SetImageId(v string) *Instance {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *Instance) SetInstanceId(v string) *Instance {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceLifecycle sets the InstanceLifecycle field's value.
+func (s *Instance) SetInstanceLifecycle(v string) *Instance {
+ s.InstanceLifecycle = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *Instance) SetInstanceType(v string) *Instance {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *Instance) SetKernelId(v string) *Instance {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *Instance) SetKeyName(v string) *Instance {
+ s.KeyName = &v
+ return s
+}
+
+// SetLaunchTime sets the LaunchTime field's value.
+func (s *Instance) SetLaunchTime(v time.Time) *Instance {
+ s.LaunchTime = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *Instance) SetPlacement(v *Placement) *Instance {
+ s.Placement = v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *Instance) SetPlatform(v string) *Instance {
+ s.Platform = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *Instance) SetPrivateDnsName(v string) *Instance {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *Instance) SetPrivateIpAddress(v string) *Instance {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
+ s.ProductCodes = v
+ return s
+}
+
+// SetPublicDnsName sets the PublicDnsName field's value.
+func (s *Instance) SetPublicDnsName(v string) *Instance {
+ s.PublicDnsName = &v
+ return s
+}
+
+// SetPublicIpAddress sets the PublicIpAddress field's value.
+func (s *Instance) SetPublicIpAddress(v string) *Instance {
+ s.PublicIpAddress = &v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *Instance) SetRamdiskId(v string) *Instance {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetRootDeviceName sets the RootDeviceName field's value.
+func (s *Instance) SetRootDeviceName(v string) *Instance {
+ s.RootDeviceName = &v
+ return s
+}
+
+// SetRootDeviceType sets the RootDeviceType field's value.
+func (s *Instance) SetRootDeviceType(v string) *Instance {
+ s.RootDeviceType = &v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *Instance) SetSourceDestCheck(v bool) *Instance {
+ s.SourceDestCheck = &v
+ return s
+}
+
+// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
+func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
+ s.SpotInstanceRequestId = &v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *Instance) SetSriovNetSupport(v string) *Instance {
+ s.SriovNetSupport = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Instance) SetState(v *InstanceState) *Instance {
+ s.State = v
+ return s
+}
+
+// SetStateReason sets the StateReason field's value.
+func (s *Instance) SetStateReason(v *StateReason) *Instance {
+ s.StateReason = v
+ return s
+}
+
+// SetStateTransitionReason sets the StateTransitionReason field's value.
+func (s *Instance) SetStateTransitionReason(v string) *Instance {
+ s.StateTransitionReason = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *Instance) SetSubnetId(v string) *Instance {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Instance) SetTags(v []*Tag) *Instance {
+ s.Tags = v
+ return s
+}
+
+// SetVirtualizationType sets the VirtualizationType field's value.
+func (s *Instance) SetVirtualizationType(v string) *Instance {
+ s.VirtualizationType = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *Instance) SetVpcId(v string) *Instance {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a block device mapping.
+type InstanceBlockDeviceMapping struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceBlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceBlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
+ s.Ebs = v
+ return s
+}
+
+// Describes a block device mapping entry.
+type InstanceBlockDeviceMappingSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
+
+ // suppress the specified device included in the block device mapping.
+ NoDevice *string `locationName:"noDevice" type:"string"`
+
+ // The virtual device name.
+ VirtualName *string `locationName:"virtualName" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceBlockDeviceMappingSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceBlockDeviceMappingSpecification) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
+ s.Ebs = v
+ return s
+}
+
+// SetNoDevice sets the NoDevice field's value.
+func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
+ s.NoDevice = &v
+ return s
+}
+
+// SetVirtualName sets the VirtualName field's value.
+func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
+ s.VirtualName = &v
+ return s
+}
+
+// Information about the instance type that the Dedicated Host supports.
+type InstanceCapacity struct {
+ _ struct{} `type:"structure"`
+
+ // The number of instances that can still be launched onto the Dedicated Host.
+ AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
+
+ // The instance type size supported by the Dedicated Host.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The total number of instances that can be launched onto the Dedicated Host.
+ TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
+}
+
+// String returns the string representation
+func (s InstanceCapacity) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceCapacity) GoString() string {
+ return s.String()
+}
+
+// SetAvailableCapacity sets the AvailableCapacity field's value.
+func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
+ s.AvailableCapacity = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
+ s.InstanceType = &v
+ return s
+}
+
+// SetTotalCapacity sets the TotalCapacity field's value.
+func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
+ s.TotalCapacity = &v
+ return s
+}
+
+// Describes a Reserved Instance listing state.
+type InstanceCount struct {
+ _ struct{} `type:"structure"`
+
+ // The number of listed Reserved Instances in the state specified by the state.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The states of the listed Reserved Instances.
+ State *string `locationName:"state" type:"string" enum:"ListingState"`
+}
+
+// String returns the string representation
+func (s InstanceCount) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceCount) GoString() string {
+ return s.String()
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *InstanceCount) SetState(v string) *InstanceCount {
+ s.State = &v
+ return s
+}
+
+// Describes the credit option for CPU usage of a T2 instance.
+type InstanceCreditSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The credit option for CPU usage of the instance. Valid values are standard
+ // and unlimited.
+ CpuCredits *string `locationName:"cpuCredits" type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceCreditSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceCreditSpecification) GoString() string {
+ return s.String()
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
+ s.CpuCredits = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
+ s.InstanceId = &v
+ return s
+}
+
+// Describes the credit option for CPU usage of a T2 instance.
+type InstanceCreditSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The credit option for CPU usage of the instance. Valid values are standard
+ // and unlimited.
+ CpuCredits *string `type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceCreditSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceCreditSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
+ s.CpuCredits = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
+ s.InstanceId = &v
+ return s
+}
+
+// Describes an instance to export.
+type InstanceExportDetails struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the resource being exported.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The target virtualization environment.
+ TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
+}
+
+// String returns the string representation
+func (s InstanceExportDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceExportDetails) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
+ s.InstanceId = &v
+ return s
+}
+
+// SetTargetEnvironment sets the TargetEnvironment field's value.
+func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
+ s.TargetEnvironment = &v
+ return s
+}
+
+// Describes an IPv6 address.
+type InstanceIpv6Address struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 address.
+ Ipv6Address *string `locationName:"ipv6Address" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceIpv6Address) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceIpv6Address) GoString() string {
+ return s.String()
+}
+
+// SetIpv6Address sets the Ipv6Address field's value.
+func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
+ s.Ipv6Address = &v
+ return s
+}
+
+// Describes an IPv6 address.
+type InstanceIpv6AddressRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 address.
+ Ipv6Address *string `type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceIpv6AddressRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceIpv6AddressRequest) GoString() string {
+ return s.String()
+}
+
+// SetIpv6Address sets the Ipv6Address field's value.
+func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
+ s.Ipv6Address = &v
+ return s
+}
+
+// Describes the market (purchasing) option for the instances.
+type InstanceMarketOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The market type.
+ MarketType *string `type:"string" enum:"MarketType"`
+
+ // The options for Spot Instances.
+ SpotOptions *SpotMarketOptions `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceMarketOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceMarketOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetMarketType sets the MarketType field's value.
+func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
+ s.MarketType = &v
+ return s
+}
+
+// SetSpotOptions sets the SpotOptions field's value.
+func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
+ s.SpotOptions = v
+ return s
+}
+
+// Describes the monitoring of an instance.
+type InstanceMonitoring struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The monitoring for the instance.
+ Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceMonitoring) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
+ s.InstanceId = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
+ s.Monitoring = v
+ return s
+}
+
+// Describes a network interface.
+type InstanceNetworkInterface struct {
+ _ struct{} `type:"structure"`
+
+ // The association information for an Elastic IPv4 associated with the network
+ // interface.
+ Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // The network interface attachment.
+ Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The description.
+ Description *string `locationName:"description" type:"string"`
+
+ // One or more security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // One or more IPv6 addresses associated with the network interface.
+ Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
+
+ // The MAC address.
+ MacAddress *string `locationName:"macAddress" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the AWS account that created the network interface.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The private DNS name.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The IPv4 address of the network interface within the subnet.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IPv4 addresses associated with the network interface.
+ PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
+
+ // Indicates whether to validate network traffic to or from this network interface.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // The status of the network interface.
+ Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterface) GoString() string {
+ return s.String()
+}
+
+// SetAssociation sets the Association field's value.
+func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
+ s.Association = v
+ return s
+}
+
+// SetAttachment sets the Attachment field's value.
+func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
+ s.Attachment = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
+ s.Description = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetMacAddress sets the MacAddress field's value.
+func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
+ s.MacAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
+ s.SourceDestCheck = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
+ s.Status = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
+ s.SubnetId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
+ s.VpcId = &v
+ return s
+}
+
+// Describes association information for an Elastic IP address (IPv4).
+type InstanceNetworkInterfaceAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the owner of the Elastic IP address.
+ IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
+
+ // The public DNS name.
+ PublicDnsName *string `locationName:"publicDnsName" type:"string"`
+
+ // The public IP address or Elastic IP address bound to the network interface.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceAssociation) GoString() string {
+ return s.String()
+}
+
+// SetIpOwnerId sets the IpOwnerId field's value.
+func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
+ s.IpOwnerId = &v
+ return s
+}
+
+// SetPublicDnsName sets the PublicDnsName field's value.
+func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
+ s.PublicDnsName = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
+ s.PublicIp = &v
+ return s
+}
+
+// Describes a network interface attachment.
+type InstanceNetworkInterfaceAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The ID of the network interface attachment.
+ AttachmentId *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The index of the device on the instance for the network interface attachment.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceAttachment) GoString() string {
+ return s.String()
+}
+
+// SetAttachTime sets the AttachTime field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
+ s.AttachTime = &v
+ return s
+}
+
+// SetAttachmentId sets the AttachmentId field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
+ s.AttachmentId = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
+ s.Status = &v
+ return s
+}
+
+// Describes a network interface.
+type InstanceNetworkInterfaceSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether to assign a public IPv4 address to an instance you launch
+ // in a VPC. The public IP address can only be assigned to a network interface
+ // for eth0, and can only be assigned to a new network interface, not an existing
+ // one. You cannot specify more than one network interface in the request. If
+ // launching into a default subnet, the default value is true.
+ AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
+
+ // If set to true, the interface is deleted when the instance is terminated.
+ // You can specify true only if creating a new network interface when launching
+ // an instance.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The description of the network interface. Applies only if creating a network
+ // interface when launching an instance.
+ Description *string `locationName:"description" type:"string"`
+
+ // The index of the device on the instance for the network interface attachment.
+ // If you are specifying a network interface in a RunInstances request, you
+ // must provide the device index.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The IDs of the security groups for the network interface. Applies only if
+ // creating a network interface when launching an instance.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // A number of IPv6 addresses to assign to the network interface. Amazon EC2
+ // chooses the IPv6 addresses from the range of the subnet. You cannot specify
+ // this option and the option to assign specific IPv6 addresses in the same
+ // request. You can specify this option if you've specified a minimum number
+ // of instances to launch.
+ Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
+
+ // One or more IPv6 addresses to assign to the network interface. You cannot
+ // specify this option and the option to assign a number of IPv6 addresses in
+ // the same request. You cannot specify this option if you've specified a minimum
+ // number of instances to launch.
+ Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The private IPv4 address of the network interface. Applies only if creating
+ // a network interface when launching an instance. You cannot specify this option
+ // if you're launching more than one instance in a RunInstances request.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IPv4 addresses to assign to the network interface. Only
+ // one private IPv4 address can be designated as primary. You cannot specify
+ // this option if you're launching more than one instance in a RunInstances
+ // request.
+ PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
+
+ // The number of secondary private IPv4 addresses. You can't specify this option
+ // and specify more than one private IP address using the private IP addresses
+ // option. You cannot specify this option if you're launching more than one
+ // instance in a RunInstances request.
+ SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ // The ID of the subnet associated with the network string. Applies only if
+ // creating a network interface when launching an instance.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InstanceNetworkInterfaceSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
+ if s.PrivateIpAddresses != nil {
+ for i, v := range s.PrivateIpAddresses {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
+ s.AssociatePublicIpAddress = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// Describes a private IPv4 address.
+type InstancePrivateIpAddress struct {
+ _ struct{} `type:"structure"`
+
+ // The association information for an Elastic IP address for the network interface.
+ Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // Indicates whether this IPv4 address is the primary private IP address of
+ // the network interface.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private IPv4 DNS name.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IPv4 address of the network interface.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+}
+
+// String returns the string representation
+func (s InstancePrivateIpAddress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstancePrivateIpAddress) GoString() string {
+ return s.String()
+}
+
+// SetAssociation sets the Association field's value.
+func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
+ s.Association = v
+ return s
+}
+
+// SetPrimary sets the Primary field's value.
+func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
+ s.Primary = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// Describes the current state of an instance.
+type InstanceState struct {
+ _ struct{} `type:"structure"`
+
+ // The low byte represents the state. The high byte is an opaque internal value
+ // and should be ignored.
+ //
+ // * 0 : pending
+ //
+ // * 16 : running
+ //
+ // * 32 : shutting-down
+ //
+ // * 48 : terminated
+ //
+ // * 64 : stopping
+ //
+ // * 80 : stopped
+ Code *int64 `locationName:"code" type:"integer"`
+
+ // The current state of the instance.
+ Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
+}
+
+// String returns the string representation
+func (s InstanceState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceState) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *InstanceState) SetCode(v int64) *InstanceState {
+ s.Code = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *InstanceState) SetName(v string) *InstanceState {
+ s.Name = &v
+ return s
+}
+
+// Describes an instance state change.
+type InstanceStateChange struct {
+ _ struct{} `type:"structure"`
+
+ // The current state of the instance.
+ CurrentState *InstanceState `locationName:"currentState" type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The previous state of the instance.
+ PreviousState *InstanceState `locationName:"previousState" type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStateChange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStateChange) GoString() string {
+ return s.String()
+}
+
+// SetCurrentState sets the CurrentState field's value.
+func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
+ s.CurrentState = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
+ s.InstanceId = &v
+ return s
+}
+
+// SetPreviousState sets the PreviousState field's value.
+func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
+ s.PreviousState = v
+ return s
+}
+
+// Describes the status of an instance.
+type InstanceStatus struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone of the instance.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // Any scheduled events associated with the instance.
+ Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The intended state of the instance. DescribeInstanceStatus requires that
+ // an instance be in the running state.
+ InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
+
+ // Reports impaired functionality that stems from issues internal to the instance,
+ // such as impaired reachability.
+ InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
+
+ // Reports impaired functionality that stems from issues related to the systems
+ // that support an instance, such as hardware failures and network connectivity
+ // problems.
+ SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatus) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetEvents sets the Events field's value.
+func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
+ s.Events = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceState sets the InstanceState field's value.
+func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
+ s.InstanceState = v
+ return s
+}
+
+// SetInstanceStatus sets the InstanceStatus field's value.
+func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
+ s.InstanceStatus = v
+ return s
+}
+
+// SetSystemStatus sets the SystemStatus field's value.
+func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
+ s.SystemStatus = v
+ return s
+}
+
+// Describes the instance status.
+type InstanceStatusDetails struct {
+ _ struct{} `type:"structure"`
+
+ // The time when a status check failed. For an instance that was launched and
+ // impaired, this is the time when the instance was launched.
+ ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The type of instance status.
+ Name *string `locationName:"name" type:"string" enum:"StatusName"`
+
+ // The status.
+ Status *string `locationName:"status" type:"string" enum:"StatusType"`
+}
+
+// String returns the string representation
+func (s InstanceStatusDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusDetails) GoString() string {
+ return s.String()
+}
+
+// SetImpairedSince sets the ImpairedSince field's value.
+func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
+ s.ImpairedSince = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
+ s.Name = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
+ s.Status = &v
+ return s
+}
+
+// Describes a scheduled event for an instance.
+type InstanceStatusEvent struct {
+ _ struct{} `type:"structure"`
+
+ // The event code.
+ Code *string `locationName:"code" type:"string" enum:"EventCode"`
+
+ // A description of the event.
+ //
+ // After a scheduled event is completed, it can still be described for up to
+ // a week. If the event has been completed, this description starts with the
+ // following text: [Completed].
+ Description *string `locationName:"description" type:"string"`
+
+ // The latest scheduled end time for the event.
+ NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The earliest scheduled start time for the event.
+ NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s InstanceStatusEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusEvent) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
+ s.Code = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
+ s.Description = &v
+ return s
+}
+
+// SetNotAfter sets the NotAfter field's value.
+func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
+ s.NotAfter = &v
+ return s
+}
+
+// SetNotBefore sets the NotBefore field's value.
+func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
+ s.NotBefore = &v
+ return s
+}
+
+// Describes the status of an instance.
+type InstanceStatusSummary struct {
+ _ struct{} `type:"structure"`
+
+ // The system instance health or application instance health.
+ Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
+
+ // The status.
+ Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
+}
+
+// String returns the string representation
+func (s InstanceStatusSummary) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusSummary) GoString() string {
+ return s.String()
+}
+
+// SetDetails sets the Details field's value.
+func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
+ s.Details = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
+ s.Status = &v
+ return s
+}
+
+// Describes an Internet gateway.
+type InternetGateway struct {
+ _ struct{} `type:"structure"`
+
+ // Any VPCs attached to the Internet gateway.
+ Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
+
+ // The ID of the Internet gateway.
+ InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
+
+ // Any tags assigned to the Internet gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s InternetGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InternetGateway) GoString() string {
+ return s.String()
+}
+
+// SetAttachments sets the Attachments field's value.
+func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
+ s.Attachments = v
+ return s
+}
+
+// SetInternetGatewayId sets the InternetGatewayId field's value.
+func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
+ s.InternetGatewayId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
+ s.Tags = v
+ return s
+}
+
+// Describes the attachment of a VPC to an Internet gateway or an egress-only
+// Internet gateway.
+type InternetGatewayAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // The current state of the attachment. For an Internet gateway, the state is
+ // available when attached to a VPC; otherwise, this value is not returned.
+ State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s InternetGatewayAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InternetGatewayAttachment) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
+ s.State = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a set of permissions for a security group rule.
+type IpPermission struct {
+ _ struct{} `type:"structure"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
+ // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
+ // all ICMP/ICMPv6 types, you must specify all codes.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ //
+ // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
+ // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
+ // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
+ // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
+ // (ICMPv6), you can optionally specify a port range; if you don't, traffic
+ // for all types and codes is allowed when authorizing rules.
+ IpProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // One or more IPv4 ranges.
+ IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
+
+ // [EC2-VPC only] One or more IPv6 ranges.
+ Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
+
+ // (EC2-VPC only; valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress
+ // and DescribeSecurityGroups only) One or more prefix list IDs for an AWS service.
+ // In an AuthorizeSecurityGroupEgress request, this is the AWS service that
+ // you want to access through a VPC endpoint from instances associated with
+ // the security group.
+ PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
+ // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
+ // If you specify all ICMP/ICMPv6 types, you must specify all codes.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+
+ // One or more security group and AWS account ID pairs.
+ UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s IpPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IpPermission) GoString() string {
+ return s.String()
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *IpPermission) SetFromPort(v int64) *IpPermission {
+ s.FromPort = &v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetIpRanges sets the IpRanges field's value.
+func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
+ s.IpRanges = v
+ return s
+}
+
+// SetIpv6Ranges sets the Ipv6Ranges field's value.
+func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
+ s.Ipv6Ranges = v
+ return s
+}
+
+// SetPrefixListIds sets the PrefixListIds field's value.
+func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
+ s.PrefixListIds = v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *IpPermission) SetToPort(v int64) *IpPermission {
+ s.ToPort = &v
+ return s
+}
+
+// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
+func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
+ s.UserIdGroupPairs = v
+ return s
+}
+
+// Describes an IPv4 range.
+type IpRange struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR range. You can either specify a CIDR range or a source security
+ // group, not both. To specify a single IPv4 address, use the /32 prefix length.
+ CidrIp *string `locationName:"cidrIp" type:"string"`
+
+ // A description for the security group rule that references this IPv4 address
+ // range.
+ //
+ // Constraints: Up to 255 characters in length. Allowed characters are a-z,
+ // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
+ Description *string `locationName:"description" type:"string"`
+}
+
+// String returns the string representation
+func (s IpRange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IpRange) GoString() string {
+ return s.String()
+}
+
+// SetCidrIp sets the CidrIp field's value.
+func (s *IpRange) SetCidrIp(v string) *IpRange {
+ s.CidrIp = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *IpRange) SetDescription(v string) *IpRange {
+ s.Description = &v
+ return s
+}
+
+// Describes an IPv6 CIDR block.
+type Ipv6CidrBlock struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 CIDR block.
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+}
+
+// String returns the string representation
+func (s Ipv6CidrBlock) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Ipv6CidrBlock) GoString() string {
+ return s.String()
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// [EC2-VPC only] Describes an IPv6 range.
+type Ipv6Range struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 CIDR range. You can either specify a CIDR range or a source security
+ // group, not both. To specify a single IPv6 address, use the /128 prefix length.
+ CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
+
+ // A description for the security group rule that references this IPv6 address
+ // range.
+ //
+ // Constraints: Up to 255 characters in length. Allowed characters are a-z,
+ // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
+ Description *string `locationName:"description" type:"string"`
+}
+
+// String returns the string representation
+func (s Ipv6Range) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Ipv6Range) GoString() string {
+ return s.String()
+}
+
+// SetCidrIpv6 sets the CidrIpv6 field's value.
+func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
+ s.CidrIpv6 = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
+ s.Description = &v
+ return s
+}
+
+// Describes a key pair.
+type KeyPairInfo struct {
+ _ struct{} `type:"structure"`
+
+ // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
+ // of the DER encoded private key. If you used ImportKeyPair to provide AWS
+ // the public key, this is the MD5 public key fingerprint as specified in section
+ // 4 of RFC4716.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+}
+
+// String returns the string representation
+func (s KeyPairInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s KeyPairInfo) GoString() string {
+ return s.String()
+}
+
+// SetKeyFingerprint sets the KeyFingerprint field's value.
+func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
+ s.KeyFingerprint = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
+ s.KeyName = &v
+ return s
+}
+
+// Describes a launch permission.
+type LaunchPermission struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the group.
+ Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
+
+ // The AWS account ID.
+ UserId *string `locationName:"userId" type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchPermission) GoString() string {
+ return s.String()
+}
+
+// SetGroup sets the Group field's value.
+func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
+ s.Group = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
+ s.UserId = &v
+ return s
+}
+
+// Describes a launch permission modification.
+type LaunchPermissionModifications struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID to add to the list of launch permissions for the AMI.
+ Add []*LaunchPermission `locationNameList:"item" type:"list"`
+
+ // The AWS account ID to remove from the list of launch permissions for the
+ // AMI.
+ Remove []*LaunchPermission `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LaunchPermissionModifications) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchPermissionModifications) GoString() string {
+ return s.String()
+}
+
+// SetAdd sets the Add field's value.
+func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
+ s.Add = v
+ return s
+}
+
+// SetRemove sets the Remove field's value.
+func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
+ s.Remove = v
+ return s
+}
+
+// Describes the launch specification for an instance.
+type LaunchSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Describes the monitoring of an instance.
+ Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces. If you specify a network interface, you must
+ // specify subnet IDs and security group IDs using the network interface.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The placement information for the instance.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // One or more security groups. When requesting instances in a VPC, you must
+ // specify the IDs of the security groups. When requesting instances in EC2-Classic,
+ // you can specify the names or the IDs of the security groups.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the subnet in which to launch the instance.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded user data for the instance.
+ UserData *string `locationName:"userData" type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// SetAddressingType sets the AddressingType field's value.
+func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
+ s.AddressingType = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
+ s.Placement = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
+ s.UserData = &v
+ return s
+}
+
+// Describes a launch template.
+type LaunchTemplate struct {
+ _ struct{} `type:"structure"`
+
+ // The time launch template was created.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The principal that created the launch template.
+ CreatedBy *string `locationName:"createdBy" type:"string"`
+
+ // The version number of the default version of the launch template.
+ DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
+
+ // The version number of the latest version of the launch template.
+ LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
+
+ // The tags for the launch template.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// 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()
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
+ s.CreateTime = &v
+ return s
+}
+
+// SetCreatedBy sets the CreatedBy field's value.
+func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
+ s.CreatedBy = &v
+ return s
+}
+
+// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
+func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
+ s.DefaultVersionNumber = &v
+ return s
+}
+
+// SetLatestVersionNumber sets the LatestVersionNumber field's value.
+func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
+ s.LatestVersionNumber = &v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
+ s.Tags = v
+ return s
+}
+
+// Describes a block device mapping.
+type LaunchTemplateBlockDeviceMapping struct {
+ _ struct{} `type:"structure"`
+
+ // The device name.
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Information about the block device for an EBS volume.
+ Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
+
+ // Suppresses the specified device included in the block device mapping of the
+ // AMI.
+ NoDevice *string `locationName:"noDevice" type:"string"`
+
+ // The virtual device name (ephemeralN).
+ VirtualName *string `locationName:"virtualName" type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateBlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateBlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
+ s.Ebs = v
+ return s
+}
+
+// SetNoDevice sets the NoDevice field's value.
+func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
+ s.NoDevice = &v
+ return s
+}
+
+// SetVirtualName sets the VirtualName field's value.
+func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
+ s.VirtualName = &v
+ return s
+}
+
+// Describes a block device mapping.
+type LaunchTemplateBlockDeviceMappingRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ DeviceName *string `type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
+
+ // Suppresses the specified device included in the block device mapping of the
+ // AMI.
+ NoDevice *string `type:"string"`
+
+ // The virtual device name (ephemeralN). Instance store volumes are numbered
+ // starting from 0. An instance type with 2 available instance store volumes
+ // can specify mappings for ephemeral0 and ephemeral1. The number of available
+ // instance store volumes depends on the instance type. After you connect to
+ // the instance, you must mount the volume.
+ VirtualName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
+ s.Ebs = v
+ return s
+}
+
+// SetNoDevice sets the NoDevice field's value.
+func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
+ s.NoDevice = &v
+ return s
+}
+
+// SetVirtualName sets the VirtualName field's value.
+func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
+ s.VirtualName = &v
+ return s
+}
+
+// Describes a launch template and overrides.
+type LaunchTemplateConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The launch template.
+ LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
+
+ // Any parameters that you specify override the same parameters in the launch
+ // template.
+ Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateConfig) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LaunchTemplateConfig) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
+ if s.LaunchTemplateSpecification != nil {
+ if err := s.LaunchTemplateSpecification.Validate(); err != nil {
+ invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
+func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
+ s.LaunchTemplateSpecification = v
+ return s
+}
+
+// SetOverrides sets the Overrides field's value.
+func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
+ s.Overrides = v
+ return s
+}
+
+// Describes a block device for an EBS volume.
+type LaunchTemplateEbsBlockDevice struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // Indicates whether the EBS volume is encrypted.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The number of I/O operations per second (IOPS) that the volume supports.
+ Iops *int64 `locationName:"iops" type:"integer"`
+
+ // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
+ KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // The size of the volume, in GiB.
+ VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
+
+ // The volume type.
+ VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateEbsBlockDevice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateEbsBlockDevice) GoString() string {
+ return s.String()
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
+ s.Iops = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
+ s.VolumeSize = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
+ s.VolumeType = &v
+ return s
+}
+
+// The parameters for a block device for an EBS volume.
+type LaunchTemplateEbsBlockDeviceRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `type:"boolean"`
+
+ // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
+ // be attached to instances that support Amazon EBS encryption. If you are creating
+ // a volume from a snapshot, you can't specify an encryption value.
+ Encrypted *bool `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 in the Amazon Elastic Compute Cloud
+ // User Guide.
+ //
+ // 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.
+ Iops *int64 `type:"integer"`
+
+ // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
+ KmsKeyId *string `type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotId *string `type:"string"`
+
+ // The size of the volume, in GiB.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ VolumeSize *int64 `type:"integer"`
+
+ // The volume type.
+ VolumeType *string `type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
+ return s.String()
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
+ s.Iops = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
+ s.VolumeSize = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
+ s.VolumeType = &v
+ return s
+}
+
+// Describes an IAM instance profile.
+type LaunchTemplateIamInstanceProfileSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the instance profile.
+ Arn *string `locationName:"arn" type:"string"`
+
+ // The name of the instance profile.
+ Name *string `locationName:"name" type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
+ s.Arn = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
+ s.Name = &v
+ return s
+}
+
+// An IAM instance profile.
+type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the instance profile.
+ Arn *string `type:"string"`
+
+ // The name of the instance profile.
+ Name *string `type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
+ s.Arn = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
+ s.Name = &v
+ return s
+}
+
+// The market (purchasing) option for the instances.
+type LaunchTemplateInstanceMarketOptions struct {
+ _ struct{} `type:"structure"`
+
+ // The market type.
+ MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
+
+ // The options for Spot Instances.
+ SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateInstanceMarketOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateInstanceMarketOptions) GoString() string {
+ return s.String()
+}
+
+// SetMarketType sets the MarketType field's value.
+func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
+ s.MarketType = &v
+ return s
+}
+
+// SetSpotOptions sets the SpotOptions field's value.
+func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
+ s.SpotOptions = v
+ return s
+}
+
+// The market (purchasing) option for the instances.
+type LaunchTemplateInstanceMarketOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The market type.
+ MarketType *string `type:"string" enum:"MarketType"`
+
+ // The options for Spot Instances.
+ SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetMarketType sets the MarketType field's value.
+func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
+ s.MarketType = &v
+ return s
+}
+
+// SetSpotOptions sets the SpotOptions field's value.
+func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
+ s.SpotOptions = v
+ return s
+}
+
+// Describes a network interface.
+type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether to associate a public IPv4 address with eth0 for a new
+ // network interface.
+ AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // A description for the network interface.
+ Description *string `locationName:"description" type:"string"`
+
+ // The device index for the network interface attachment.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The IDs of one or more security groups.
+ Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
+
+ // The number of IPv6 addresses for the network interface.
+ Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
+
+ // The IPv6 addresses for the network interface.
+ Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The primary private IPv4 address of the network interface.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IPv4 addresses.
+ PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
+
+ // The number of secondary private IPv4 addresses for the network interface.
+ SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ // The ID of the subnet for the network interface.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
+ return s.String()
+}
+
+// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.AssociatePublicIpAddress = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// The parameters for a network interface.
+type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Associates a public IPv4 address with eth0 for a new network interface.
+ AssociatePublicIpAddress *bool `type:"boolean"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `type:"boolean"`
+
+ // A description for the network interface.
+ Description *string `type:"string"`
+
+ // The device index for the network interface attachment.
+ DeviceIndex *int64 `type:"integer"`
+
+ // The IDs of one or more security groups.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The number of IPv6 addresses to assign to a network interface. Amazon EC2
+ // automatically selects the IPv6 addresses from the subnet range. You can't
+ // use this option if specifying specific IPv6 addresses.
+ Ipv6AddressCount *int64 `type:"integer"`
+
+ // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
+ // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
+ Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `type:"string"`
+
+ // The primary private IPv4 address of the network interface.
+ PrivateIpAddress *string `type:"string"`
+
+ // One or more private IPv4 addresses.
+ PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
+
+ // The number of secondary private IPv4 addresses to assign to a network interface.
+ SecondaryPrivateIpAddressCount *int64 `type:"integer"`
+
+ // The ID of the subnet for the network interface.
+ SubnetId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest"}
+ if s.PrivateIpAddresses != nil {
+ for i, v := range s.PrivateIpAddresses {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.AssociatePublicIpAddress = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.SubnetId = &v
+ return s
+}
+
+// Describes overrides for a launch template.
+type LaunchTemplateOverrides struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which to launch the instances.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The maximum price per unit hour that you are willing to pay for a Spot Instance.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The ID of the subnet in which to launch the instances.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The number of units provided by the specified instance type.
+ WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateOverrides) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateOverrides) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
+ s.InstanceType = &v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
+ s.SubnetId = &v
+ return s
+}
+
+// SetWeightedCapacity sets the WeightedCapacity field's value.
+func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
+ s.WeightedCapacity = &v
+ return s
+}
+
+// Describes the placement of an instance.
+type LaunchTemplatePlacement struct {
+ _ struct{} `type:"structure"`
+
+ // The affinity setting for the instance on the Dedicated Host.
+ Affinity *string `locationName:"affinity" type:"string"`
+
+ // The Availability Zone of the instance.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The name of the placement group for the instance.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The ID of the Dedicated Host for the instance.
+ HostId *string `locationName:"hostId" type:"string"`
+
+ // Reserved for future use.
+ SpreadDomain *string `locationName:"spreadDomain" type:"string"`
+
+ // The tenancy of the instance (if the instance is running in a VPC). An instance
+ // with a tenancy of dedicated runs on single-tenant hardware.
+ Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
+}
+
+// String returns the string representation
+func (s LaunchTemplatePlacement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplatePlacement) GoString() string {
+ return s.String()
+}
+
+// SetAffinity sets the Affinity field's value.
+func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
+ s.Affinity = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
+ s.GroupName = &v
+ return s
+}
+
+// SetHostId sets the HostId field's value.
+func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
+ s.HostId = &v
+ return s
+}
+
+// SetSpreadDomain sets the SpreadDomain field's value.
+func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
+ s.SpreadDomain = &v
+ return s
+}
+
+// SetTenancy sets the Tenancy field's value.
+func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
+ s.Tenancy = &v
+ return s
+}
+
+// The placement for the instance.
+type LaunchTemplatePlacementRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The affinity setting for an instance on a Dedicated Host.
+ Affinity *string `type:"string"`
+
+ // The Availability Zone for the instance.
+ AvailabilityZone *string `type:"string"`
+
+ // The name of the placement group for the instance.
+ GroupName *string `type:"string"`
+
+ // The ID of the Dedicated Host for the instance.
+ HostId *string `type:"string"`
+
+ // Reserved for future use.
+ SpreadDomain *string `type:"string"`
+
+ // The tenancy of the instance (if the instance is running in a VPC). An instance
+ // with a tenancy of dedicated runs on single-tenant hardware.
+ Tenancy *string `type:"string" enum:"Tenancy"`
+}
+
+// String returns the string representation
+func (s LaunchTemplatePlacementRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplatePlacementRequest) GoString() string {
+ return s.String()
+}
+
+// SetAffinity sets the Affinity field's value.
+func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
+ s.Affinity = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
+ s.GroupName = &v
+ return s
+}
+
+// SetHostId sets the HostId field's value.
+func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
+ s.HostId = &v
+ return s
+}
+
+// SetSpreadDomain sets the SpreadDomain field's value.
+func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
+ s.SpreadDomain = &v
+ return s
+}
+
+// SetTenancy sets the Tenancy field's value.
+func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
+ s.Tenancy = &v
+ return s
+}
+
+// The launch template to use. You must specify either the launch template ID
+// or launch template name in the request, but not both.
+type LaunchTemplateSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `type:"string"`
+
+ // The version number of the launch template.
+ //
+ // Default: The default version for the launch template.
+ Version *string `type:"string"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateSpecification) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
+ s.Version = &v
+ return s
+}
+
+// The options for Spot Instances.
+type LaunchTemplateSpotMarketOptions struct {
+ _ struct{} `type:"structure"`
+
+ // The required duration for the Spot Instances (also known as Spot blocks),
+ // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
+ // or 360).
+ BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
+
+ // The behavior when a Spot Instance is interrupted.
+ InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The maximum hourly price you're willing to pay for the Spot Instances.
+ MaxPrice *string `locationName:"maxPrice" type:"string"`
+
+ // The Spot Instance request type.
+ SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
+
+ // The end date of the request. For a one-time request, the request remains
+ // active until all instances launch, the request is canceled, or this date
+ // is reached. If the request is persistent, it remains active until it is canceled
+ // or this date and time is reached.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateSpotMarketOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateSpotMarketOptions) GoString() string {
+ return s.String()
+}
+
+// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
+func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
+ s.BlockDurationMinutes = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetMaxPrice sets the MaxPrice field's value.
+func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
+ s.MaxPrice = &v
+ return s
+}
+
+// SetSpotInstanceType sets the SpotInstanceType field's value.
+func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
+ s.SpotInstanceType = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
+ s.ValidUntil = &v
+ return s
+}
+
+// The options for Spot Instances.
+type LaunchTemplateSpotMarketOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The required duration for the Spot Instances (also known as Spot blocks),
+ // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
+ // or 360).
+ BlockDurationMinutes *int64 `type:"integer"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The maximum hourly price you're willing to pay for the Spot Instances.
+ MaxPrice *string `type:"string"`
+
+ // The Spot Instance request type.
+ SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
+
+ // The end date of the request. For a one-time request, the request remains
+ // active until all instances launch, the request is canceled, or this date
+ // is reached. If the request is persistent, it remains active until it is canceled
+ // or this date and time is reached. The default end date is 7 days from the
+ // current date.
+ ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
+func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
+ s.BlockDurationMinutes = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetMaxPrice sets the MaxPrice field's value.
+func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
+ s.MaxPrice = &v
+ return s
+}
+
+// SetSpotInstanceType sets the SpotInstanceType field's value.
+func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
+ s.SpotInstanceType = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
+ s.ValidUntil = &v
+ return s
+}
+
+// The tag specification for the launch template.
+type LaunchTemplateTagSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tags for the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateTagSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateTagSpecification) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
+ s.Tags = v
+ return s
+}
+
+// The tags specification for the launch template.
+type LaunchTemplateTagSpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource to tag. Currently, the resource types that support tagging
+ // on creation are instance and volume. To tag a resource after it has been
+ // created, see CreateTags.
+ ResourceType *string `type:"string" enum:"ResourceType"`
+
+ // The tags to apply to the resource.
+ Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateTagSpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateTagSpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
+ s.Tags = v
+ return s
+}
+
+// Describes a launch template version.
+type LaunchTemplateVersion struct {
+ _ struct{} `type:"structure"`
+
+ // The time the version was created.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The principal that created the version.
+ CreatedBy *string `locationName:"createdBy" type:"string"`
+
+ // Indicates whether the version is the default version.
+ DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
+
+ // Information about the launch template.
+ LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
+
+ // The ID of the launch template.
+ LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
+
+ // The name of the launch template.
+ LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
+
+ // The description for the version.
+ VersionDescription *string `locationName:"versionDescription" type:"string"`
+
+ // The version number.
+ VersionNumber *int64 `locationName:"versionNumber" type:"long"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateVersion) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateVersion) GoString() string {
+ return s.String()
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
+ s.CreateTime = &v
+ return s
+}
+
+// SetCreatedBy sets the CreatedBy field's value.
+func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
+ s.CreatedBy = &v
+ return s
+}
+
+// SetDefaultVersion sets the DefaultVersion field's value.
+func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
+ s.DefaultVersion = &v
+ return s
+}
+
+// SetLaunchTemplateData sets the LaunchTemplateData field's value.
+func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
+ s.LaunchTemplateData = v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+// SetVersionDescription sets the VersionDescription field's value.
+func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
+ s.VersionDescription = &v
+ return s
+}
+
+// SetVersionNumber sets the VersionNumber field's value.
+func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
+ s.VersionNumber = &v
+ return s
+}
+
+// Describes the monitoring for the instance.
+type LaunchTemplatesMonitoring struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
+ // is enabled.
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+}
+
+// String returns the string representation
+func (s LaunchTemplatesMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplatesMonitoring) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
+ s.Enabled = &v
+ return s
+}
+
+// Describes the monitoring for the instance.
+type LaunchTemplatesMonitoringRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Specify true to enable detailed monitoring. Otherwise, basic monitoring is
+ // enabled.
+ Enabled *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s LaunchTemplatesMonitoringRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplatesMonitoringRequest) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
+ s.Enabled = &v
+ return s
+}
+
+// Describes the Classic Load Balancers and target groups to attach to a Spot
+// Fleet request.
+type LoadBalancersConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The Classic Load Balancers.
+ ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
+
+ // The target groups.
+ TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
+}
+
+// String returns the string representation
+func (s LoadBalancersConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LoadBalancersConfig) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LoadBalancersConfig) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
+ if s.ClassicLoadBalancersConfig != nil {
+ if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
+ invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.TargetGroupsConfig != nil {
+ if err := s.TargetGroupsConfig.Validate(); err != nil {
+ invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
+func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
+ s.ClassicLoadBalancersConfig = v
+ return s
+}
+
+// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
+func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
+ s.TargetGroupsConfig = v
+ return s
+}
+
+// Describes a load permission.
+type LoadPermission struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the group.
+ Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
+
+ // The AWS account ID.
+ UserId *string `locationName:"userId" type:"string"`
+}
+
+// String returns the string representation
+func (s LoadPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LoadPermission) GoString() string {
+ return s.String()
+}
+
+// SetGroup sets the Group field's value.
+func (s *LoadPermission) SetGroup(v string) *LoadPermission {
+ s.Group = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *LoadPermission) SetUserId(v string) *LoadPermission {
+ s.UserId = &v
+ return s
+}
+
+// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
+type LoadPermissionModifications struct {
+ _ struct{} `type:"structure"`
+
+ // The load permissions to add.
+ Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
+
+ // The load permissions to remove.
+ Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LoadPermissionModifications) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LoadPermissionModifications) GoString() string {
+ return s.String()
+}
+
+// SetAdd sets the Add field's value.
+func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
+ s.Add = v
+ return s
+}
+
+// SetRemove sets the Remove field's value.
+func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
+ s.Remove = v
+ return s
+}
+
+// Describes a load permission.
+type LoadPermissionRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the group.
+ Group *string `type:"string" enum:"PermissionGroup"`
+
+ // The AWS account ID.
+ UserId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s LoadPermissionRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LoadPermissionRequest) GoString() string {
+ return s.String()
+}
+
+// SetGroup sets the Group field's value.
+func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
+ s.Group = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
+ s.UserId = &v
+ return s
+}
+
+type ModifyFleetInput 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"`
+
+ // Indicates whether running instances should be terminated if the total target
+ // capacity of the EC2 Fleet is decreased below the current size of the EC2
+ // Fleet.
+ ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
+
+ // The ID of the EC2 Fleet.
+ //
+ // FleetId is a required field
+ FleetId *string `type:"string" required:"true"`
+
+ // The size of the EC2 Fleet.
+ //
+ // TargetCapacitySpecification is a required field
+ TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyFleetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyFleetInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyFleetInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
+ if s.FleetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FleetId"))
+ }
+ if s.TargetCapacitySpecification == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
+ }
+ if s.TargetCapacitySpecification != nil {
+ if err := s.TargetCapacitySpecification.Validate(); err != nil {
+ invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
+func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
+ s.ExcessCapacityTerminationPolicy = &v
+ return s
+}
+
+// SetFleetId sets the FleetId field's value.
+func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
+ s.FleetId = &v
+ return s
+}
+
+// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
+func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
+ s.TargetCapacitySpecification = v
+ return s
+}
+
+type ModifyFleetOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Is true if the request succeeds, and an error otherwise.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifyFleetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyFleetOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
+ s.Return = &v
+ return s
+}
+
+type ModifyFpgaImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the attribute.
+ Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
+
+ // A description for the AFI.
+ 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 ID of the AFI.
+ //
+ // FpgaImageId is a required field
+ FpgaImageId *string `type:"string" required:"true"`
+
+ // The load permission for the AFI.
+ LoadPermission *LoadPermissionModifications `type:"structure"`
+
+ // A name for the AFI.
+ Name *string `type:"string"`
+
+ // The operation type.
+ OperationType *string `type:"string" enum:"OperationType"`
+
+ // One or more product codes. After you add a product code to an AFI, it can't
+ // be removed. This parameter is valid only when modifying the productCodes
+ // attribute.
+ ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
+
+ // One or more user groups. This parameter is valid only when modifying the
+ // loadPermission attribute.
+ UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
+
+ // One or more AWS account IDs. This parameter is valid only when modifying
+ // the loadPermission attribute.
+ UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
+}
+
+// String returns the string representation
+func (s ModifyFpgaImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyFpgaImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyFpgaImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
+ if s.FpgaImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
+ s.FpgaImageId = &v
+ return s
+}
+
+// SetLoadPermission sets the LoadPermission field's value.
+func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
+ s.LoadPermission = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
+ s.Name = &v
+ return s
+}
+
+// SetOperationType sets the OperationType field's value.
+func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
+ s.OperationType = &v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetUserGroups sets the UserGroups field's value.
+func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
+ s.UserGroups = v
+ return s
+}
+
+// SetUserIds sets the UserIds field's value.
+func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
+ s.UserIds = v
+ return s
+}
+
+type ModifyFpgaImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the attribute.
+ FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyFpgaImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyFpgaImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
+func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
+ s.FpgaImageAttribute = v
+ return s
+}
+
+// Contains the parameters for ModifyHosts.
+type ModifyHostsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Specify whether to enable or disable auto-placement.
+ //
+ // AutoPlacement is a required field
+ AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
+
+ // The host IDs of the Dedicated Hosts you want to modify.
+ //
+ // HostIds is a required field
+ HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyHostsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyHostsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyHostsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
+ if s.AutoPlacement == nil {
+ invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
+ }
+ if s.HostIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAutoPlacement sets the AutoPlacement field's value.
+func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
+ s.AutoPlacement = &v
+ return s
+}
+
+// SetHostIds sets the HostIds field's value.
+func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
+ s.HostIds = v
+ return s
+}
+
+// Contains the output of ModifyHosts.
+type ModifyHostsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of the Dedicated Hosts that were successfully modified.
+ Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
+
+ // The IDs of the Dedicated Hosts that could not be modified. Check whether
+ // the setting you requested can be used.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ModifyHostsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyHostsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessful sets the Successful field's value.
+func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
+ s.Successful = v
+ return s
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+// Contains the parameters of ModifyIdFormat.
+type ModifyIdFormatInput struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
+ // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
+ // | image | import-task | internet-gateway | network-acl | network-acl-association
+ // | network-interface | network-interface-attachment | prefix-list | route-table
+ // | route-table-association | security-group | subnet | subnet-cidr-block-association
+ // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
+ // | vpn-connection | vpn-gateway.
+ //
+ // Alternatively, use the all-current option to include all resource types that
+ // are currently within their opt-in period for longer IDs.
+ //
+ // Resource is a required field
+ Resource *string `type:"string" required:"true"`
+
+ // Indicate whether the resource should use longer IDs (17-character IDs).
+ //
+ // UseLongIds is a required field
+ UseLongIds *bool `type:"boolean" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyIdFormatInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
+ if s.Resource == nil {
+ invalidParams.Add(request.NewErrParamRequired("Resource"))
+ }
+ if s.UseLongIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetResource sets the Resource field's value.
+func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
+ s.Resource = &v
+ return s
+}
+
+// SetUseLongIds sets the UseLongIds field's value.
+func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
+ s.UseLongIds = &v
+ return s
+}
+
+type ModifyIdFormatOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyIdFormatOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyIdFormatOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters of ModifyIdentityIdFormat.
+type ModifyIdentityIdFormatInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the principal, which can be an IAM user, IAM role, or the root
+ // user. Specify all to modify the ID format for all IAM users, IAM roles, and
+ // the root user of the account.
+ //
+ // PrincipalArn is a required field
+ PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
+
+ // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
+ // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
+ // | image | import-task | internet-gateway | network-acl | network-acl-association
+ // | network-interface | network-interface-attachment | prefix-list | route-table
+ // | route-table-association | security-group | subnet | subnet-cidr-block-association
+ // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
+ // | vpn-connection | vpn-gateway.
+ //
+ // Alternatively, use the all-current option to include all resource types that
+ // are currently within their opt-in period for longer IDs.
+ //
+ // Resource is a required field
+ Resource *string `locationName:"resource" type:"string" required:"true"`
+
+ // Indicates whether the resource should use longer IDs (17-character IDs)
+ //
+ // UseLongIds is a required field
+ UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyIdentityIdFormatInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyIdentityIdFormatInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyIdentityIdFormatInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
+ if s.PrincipalArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
+ }
+ if s.Resource == nil {
+ invalidParams.Add(request.NewErrParamRequired("Resource"))
+ }
+ if s.UseLongIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPrincipalArn sets the PrincipalArn field's value.
+func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
+ s.PrincipalArn = &v
+ return s
+}
+
+// SetResource sets the Resource field's value.
+func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
+ s.Resource = &v
+ return s
+}
+
+// SetUseLongIds sets the UseLongIds field's value.
+func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
+ s.UseLongIds = &v
+ return s
+}
+
+type ModifyIdentityIdFormatOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyIdentityIdFormatOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyIdentityIdFormatOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ModifyImageAttribute.
+type ModifyImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the attribute to modify. The valid values are description, launchPermission,
+ // and productCodes.
+ Attribute *string `type:"string"`
+
+ // A new description for the AMI.
+ Description *AttributeValue `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"`
+
+ // The ID of the AMI.
+ //
+ // ImageId is a required field
+ ImageId *string `type:"string" required:"true"`
+
+ // A new launch permission for the AMI.
+ LaunchPermission *LaunchPermissionModifications `type:"structure"`
+
+ // The operation type. This parameter can be used only when the Attribute parameter
+ // is launchPermission.
+ OperationType *string `type:"string" enum:"OperationType"`
+
+ // One or more DevPay product codes. After you add a product code to an AMI,
+ // it can't be removed.
+ ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
+
+ // One or more user groups. This parameter can be used only when the Attribute
+ // parameter is launchPermission.
+ UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
+
+ // One or more AWS account IDs. This parameter can be used only when the Attribute
+ // parameter is launchPermission.
+ UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
+
+ // The value of the attribute being modified. This parameter can be used only
+ // when the Attribute parameter is description or productCodes.
+ Value *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ModifyImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
+ if s.ImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
+ s.Description = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
+ s.ImageId = &v
+ return s
+}
+
+// SetLaunchPermission sets the LaunchPermission field's value.
+func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
+ s.LaunchPermission = v
+ return s
+}
+
+// SetOperationType sets the OperationType field's value.
+func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
+ s.OperationType = &v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
+ s.ProductCodes = v
+ return s
+}
+
+// SetUserGroups sets the UserGroups field's value.
+func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
+ s.UserGroups = v
+ return s
+}
+
+// SetUserIds sets the UserIds field's value.
+func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
+ s.UserIds = v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
+ s.Value = &v
+ return s
+}
+
+type ModifyImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ModifyInstanceAttribute.
+type ModifyInstanceAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the attribute.
+ Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
+
+ // Modifies the DeleteOnTermination attribute for volumes that are currently
+ // attached. The volume must be owned by the caller. If no value is specified
+ // for DeleteOnTermination, the default is true and the volume is deleted when
+ // the instance is terminated.
+ //
+ // 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // If the value is true, you can't terminate the instance using the Amazon EC2
+ // console, CLI, or API; otherwise, you can. You cannot use this parameter for
+ // Spot Instances.
+ DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" 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"`
+
+ // Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
+
+ // Set to true to enable enhanced networking with ENA for the instance.
+ //
+ // This option is supported only for HVM instances. Specifying this option with
+ // a PV instance can make it unreachable.
+ EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
+
+ // [EC2-VPC] Changes the security groups of the instance. You must specify at
+ // least one security group, even if it's just the default security group for
+ // the VPC. You must specify the security group ID, not the security group name.
+ Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // Specifies whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ 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).
+ // 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).
+ 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).
+ Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // Specifies whether source/destination checking is enabled. A value of true
+ // means that checking is enabled, and false means that checking is disabled.
+ // This value must be false for a NAT instance to perform NAT.
+ SourceDestCheck *AttributeBooleanValue `type:"structure"`
+
+ // Set to simple to enable enhanced networking with the Intel 82599 Virtual
+ // Function interface for the instance.
+ //
+ // There is no way to disable enhanced networking with the Intel 82599 Virtual
+ // Function interface at this time.
+ //
+ // This option is supported only for HVM instances. Specifying this option with
+ // a PV instance can make it unreachable.
+ SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+
+ // Changes the instance's user data to the specified value. If you are using
+ // an AWS SDK or 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.
+ UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
+
+ // A new value for the attribute. Use only with the kernel, ramdisk, userData,
+ // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
+ Value *string `locationName:"value" type:"string"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyInstanceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetDisableApiTermination sets the DisableApiTermination field's value.
+func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
+ s.DisableApiTermination = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
+ s.EbsOptimized = v
+ return s
+}
+
+// SetEnaSupport sets the EnaSupport field's value.
+func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
+ s.EnaSupport = v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
+ s.Groups = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
+ s.InstanceInitiatedShutdownBehavior = v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
+ s.InstanceType = v
+ return s
+}
+
+// SetKernel sets the Kernel field's value.
+func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
+ s.Kernel = v
+ return s
+}
+
+// SetRamdisk sets the Ramdisk field's value.
+func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
+ s.Ramdisk = v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
+ s.SourceDestCheck = v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
+ s.SriovNetSupport = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
+ s.UserData = v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
+ s.Value = &v
+ return s
+}
+
+type ModifyInstanceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyInstanceCreditSpecificationInput struct {
+ _ struct{} `type:"structure"`
+
+ // 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).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // Information about the credit option for CPU usage.
+ //
+ // InstanceCreditSpecifications is a required field
+ InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceCreditSpecificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceCreditSpecificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
+ if s.InstanceCreditSpecifications == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
+func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
+ s.InstanceCreditSpecifications = v
+ return s
+}
+
+type ModifyInstanceCreditSpecificationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the instances whose credit option for CPU usage was successfully
+ // modified.
+ SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
+
+ // Information about the instances whose credit option for CPU usage was not
+ // modified.
+ UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceCreditSpecificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
+func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
+ s.SuccessfulInstanceCreditSpecifications = v
+ return s
+}
+
+// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
+func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
+ s.UnsuccessfulInstanceCreditSpecifications = v
+ return s
+}
+
+// Contains the parameters for ModifyInstancePlacement.
+type ModifyInstancePlacementInput struct {
+ _ struct{} `type:"structure"`
+
+ // The affinity setting for the instance.
+ Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
+
+ // 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.
+ //
+ // To remove an instance from a placement group, specify an empty string ("").
+ GroupName *string `type:"string"`
+
+ // The ID of the Dedicated Host with which to associate the instance.
+ HostId *string `locationName:"hostId" type:"string"`
+
+ // The ID of the instance that you are modifying.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The tenancy for the instance.
+ Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
+}
+
+// String returns the string representation
+func (s ModifyInstancePlacementInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstancePlacementInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyInstancePlacementInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAffinity sets the Affinity field's value.
+func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
+ s.Affinity = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetHostId sets the HostId field's value.
+func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
+ s.HostId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetTenancy sets the Tenancy field's value.
+func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
+ s.Tenancy = &v
+ return s
+}
+
+// Contains the output of ModifyInstancePlacement.
+type ModifyInstancePlacementOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Is true if the request succeeds, and an error otherwise.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifyInstancePlacementOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstancePlacementOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
+ s.Return = &v
+ return s
+}
+
+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).
+ ClientToken *string `type:"string"`
+
+ // The version number of the launch template to set as the default version.
+ DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateId *string `type:"string"`
+
+ // The name of the launch template. You must specify either the launch template
+ // ID or launch template name in the request.
+ LaunchTemplateName *string `min:"3" type:"string"`
+}
+
+// String returns the string representation
+func (s ModifyLaunchTemplateInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyLaunchTemplateInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyLaunchTemplateInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
+ if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDefaultVersion sets the DefaultVersion field's value.
+func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
+ s.DefaultVersion = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLaunchTemplateId sets the LaunchTemplateId field's value.
+func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
+ s.LaunchTemplateId = &v
+ return s
+}
+
+// SetLaunchTemplateName sets the LaunchTemplateName field's value.
+func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
+ s.LaunchTemplateName = &v
+ return s
+}
+
+type ModifyLaunchTemplateOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the launch template.
+ LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyLaunchTemplateOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyLaunchTemplateOutput) GoString() string {
+ return s.String()
+}
+
+// SetLaunchTemplate sets the LaunchTemplate field's value.
+func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
+ s.LaunchTemplate = v
+ return s
+}
+
+// Contains the parameters for ModifyNetworkInterfaceAttribute.
+type ModifyNetworkInterfaceAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the interface attachment. If modifying the 'delete on termination'
+ // attribute, you must specify the ID of the interface attachment.
+ Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
+
+ // A description for the network interface.
+ Description *AttributeValue `locationName:"description" 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"`
+
+ // Changes the security groups for the network interface. The new set of groups
+ // you specify replaces the current set. You must specify at least one group,
+ // even if it's just the default security group in the VPC. You must specify
+ // the ID of the security group, not the name.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // 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)
+ // in the Amazon Virtual Private Cloud User Guide.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttachment sets the Attachment field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
+ s.Attachment = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
+ s.Description = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
+ s.Groups = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
+ s.SourceDestCheck = v
+ return s
+}
+
+type ModifyNetworkInterfaceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ModifyReservedInstances.
+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).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The IDs of the Reserved Instances to modify.
+ //
+ // ReservedInstancesIds is a required field
+ ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
+
+ // The configuration settings for the Reserved Instances to modify.
+ //
+ // TargetConfigurations is a required field
+ TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyReservedInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyReservedInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyReservedInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
+ if s.ReservedInstancesIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
+ }
+ if s.TargetConfigurations == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
+func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
+ s.ReservedInstancesIds = v
+ return s
+}
+
+// SetTargetConfigurations sets the TargetConfigurations field's value.
+func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
+ s.TargetConfigurations = v
+ return s
+}
+
+// Contains the output of ModifyReservedInstances.
+type ModifyReservedInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID for the modification.
+ ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
+}
+
+// String returns the string representation
+func (s ModifyReservedInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyReservedInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
+func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
+ s.ReservedInstancesModificationId = &v
+ return s
+}
+
+// Contains the parameters for ModifySnapshotAttribute.
+type ModifySnapshotAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The snapshot attribute to modify.
+ //
+ // Only volume creation permissions may be modified at the customer level.
+ Attribute *string `type:"string" enum:"SnapshotAttributeName"`
+
+ // A JSON representation of the snapshot attribute modification.
+ CreateVolumePermission *CreateVolumePermissionModifications `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"`
+
+ // The group to modify for the snapshot.
+ GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
+
+ // The type of operation to perform to the attribute.
+ OperationType *string `type:"string" enum:"OperationType"`
+
+ // The ID of the snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `type:"string" required:"true"`
+
+ // The account ID to modify for the snapshot.
+ UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
+}
+
+// String returns the string representation
+func (s ModifySnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifySnapshotAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetCreateVolumePermission sets the CreateVolumePermission field's value.
+func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
+ s.CreateVolumePermission = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupNames sets the GroupNames field's value.
+func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
+ s.GroupNames = v
+ return s
+}
+
+// SetOperationType sets the OperationType field's value.
+func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
+ s.OperationType = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetUserIds sets the UserIds field's value.
+func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
+ s.UserIds = v
+ return s
+}
+
+type ModifySnapshotAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ModifySpotFleetRequest.
+type ModifySpotFleetRequestInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether running Spot Instances should be terminated if the target
+ // capacity of the Spot Fleet request is decreased below the current size of
+ // the Spot Fleet.
+ ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
+
+ // The ID of the Spot Fleet request.
+ //
+ // SpotFleetRequestId is a required field
+ SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ // The size of the fleet.
+ TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
+}
+
+// String returns the string representation
+func (s ModifySpotFleetRequestInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySpotFleetRequestInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifySpotFleetRequestInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
+ if s.SpotFleetRequestId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
+func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
+ s.ExcessCapacityTerminationPolicy = &v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// SetTargetCapacity sets the TargetCapacity field's value.
+func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
+ s.TargetCapacity = &v
+ return s
+}
+
+// Contains the output of ModifySpotFleetRequest.
+type ModifySpotFleetRequestOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Is true if the request succeeds, and an error otherwise.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifySpotFleetRequestOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySpotFleetRequestOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for ModifySubnetAttribute.
+type ModifySubnetAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // Specify true to indicate that network interfaces created in the specified
+ // subnet should be assigned an IPv6 address. This includes a network interface
+ // that's created when launching an instance into the subnet (the instance therefore
+ // receives an IPv6 address).
+ //
+ // If you enable the IPv6 addressing feature for your subnet, your network interface
+ // or instance only receives an IPv6 address if it's created using version 2016-11-15
+ // or later of the Amazon EC2 API.
+ AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
+
+ // Specify true to indicate that network interfaces created in the specified
+ // subnet should be assigned a public IPv4 address. This includes a network
+ // interface that's created when launching an instance into the subnet (the
+ // instance therefore receives a public IPv4 address).
+ MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
+
+ // The ID of the subnet.
+ //
+ // SubnetId is a required field
+ SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifySubnetAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySubnetAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifySubnetAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
+ if s.SubnetId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SubnetId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
+func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
+ s.AssignIpv6AddressOnCreation = v
+ return s
+}
+
+// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
+func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
+ s.MapPublicIpOnLaunch = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
+ s.SubnetId = &v
+ return s
+}
+
+type ModifySubnetAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySubnetAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySubnetAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ModifyVolumeAttribute.
+type ModifyVolumeAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the volume should be auto-enabled for I/O operations.
+ AutoEnableIO *AttributeBooleanValue `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"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVolumeAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAutoEnableIO sets the AutoEnableIO field's value.
+func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
+ s.AutoEnableIO = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
+ s.VolumeId = &v
+ return s
+}
+
+type ModifyVolumeAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyVolumeInput 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"`
+
+ // Target IOPS rate of the volume to be modified.
+ //
+ // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
+ // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
+ // (http://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"`
+
+ // Target size in GiB of the volume to be modified. 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 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
+ // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
+ //
+ // Default: If no size is specified, the existing size is retained.
+ Size *int64 `type:"integer"`
+
+ // The ID of the volume.
+ //
+ // VolumeId is a required field
+ VolumeId *string `type:"string" required:"true"`
+
+ // Target EBS volume type of the volume to be modified
+ //
+ // The API does not support modifications for volume type standard. You also
+ // cannot change the type of a volume to standard.
+ //
+ // Default: If no type is specified, the existing type is retained.
+ VolumeType *string `type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVolumeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
+ if s.VolumeId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
+ s.Iops = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
+ s.Size = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
+ s.VolumeId = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
+ s.VolumeType = &v
+ return s
+}
+
+type ModifyVolumeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A VolumeModification object.
+ VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeOutput) GoString() string {
+ return s.String()
+}
+
+// SetVolumeModification sets the VolumeModification field's value.
+func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
+ s.VolumeModification = v
+ return s
+}
+
+// Contains the parameters for ModifyVpcAttribute.
+type ModifyVpcAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the instances launched in the VPC get DNS hostnames. If
+ // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
+ //
+ // You cannot modify the DNS resolution and DNS hostnames attributes in the
+ // same request. Use separate requests for each attribute. You can only enable
+ // DNS hostnames if you've enabled DNS support.
+ EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
+
+ // Indicates whether the DNS resolution is supported for the VPC. If enabled,
+ // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
+ // or the reserved IP address at the base of the VPC network range "plus two"
+ // will succeed. If disabled, the Amazon provided DNS service in the VPC that
+ // resolves public DNS hostnames to IP addresses is not enabled.
+ //
+ // You cannot modify the DNS resolution and DNS hostnames attributes in the
+ // same request. Use separate requests for each attribute.
+ EnableDnsSupport *AttributeBooleanValue `type:"structure"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `locationName:"vpcId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
+func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
+ s.EnableDnsHostnames = v
+ return s
+}
+
+// SetEnableDnsSupport sets the EnableDnsSupport field's value.
+func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
+ s.EnableDnsSupport = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
+ s.VpcId = &v
+ return s
+}
+
+type ModifyVpcAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVpcAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyVpcEndpointConnectionNotificationInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more events for the endpoint. Valid values are Accept, Connect, Delete,
+ // and Reject.
+ ConnectionEvents []*string `locationNameList:"item" type:"list"`
+
+ // The ARN for the SNS topic for the notification.
+ ConnectionNotificationArn *string `type:"string"`
+
+ // The ID of the notification.
+ //
+ // ConnectionNotificationId is a required field
+ ConnectionNotificationId *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 ModifyVpcEndpointConnectionNotificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
+ if s.ConnectionNotificationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetConnectionEvents sets the ConnectionEvents field's value.
+func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
+ s.ConnectionEvents = v
+ return s
+}
+
+// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
+func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
+ s.ConnectionNotificationArn = &v
+ return s
+}
+
+// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
+func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
+ s.ConnectionNotificationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
+ s.DryRun = &v
+ return s
+}
+
+type ModifyVpcEndpointConnectionNotificationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ ReturnValue *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturnValue sets the ReturnValue field's value.
+func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
+ s.ReturnValue = &v
+ return s
+}
+
+// Contains the parameters for ModifyVpcEndpoint.
+type ModifyVpcEndpointInput struct {
+ _ struct{} `type:"structure"`
+
+ // (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
+ AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) One or more security group IDs to associate with the
+ // network interface.
+ AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
+ AddSubnetIds []*string `locationName:"AddSubnetId" 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"`
+
+ // (Gateway endpoint) A policy document to attach to the endpoint. The policy
+ // must be in valid JSON format.
+ PolicyDocument *string `type:"string"`
+
+ // (Interface endpoint) Indicate whether a private hosted zone is associated
+ // with the VPC.
+ PrivateDnsEnabled *bool `type:"boolean"`
+
+ // (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
+ RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) One or more security group IDs to disassociate from
+ // the network interface.
+ RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
+ RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
+
+ // (Gateway endpoint) Specify true to reset the policy document to the default
+ // policy. The default policy allows full access to the service.
+ ResetPolicy *bool `type:"boolean"`
+
+ // The ID of the endpoint.
+ //
+ // VpcEndpointId is a required field
+ VpcEndpointId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcEndpointInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcEndpointInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
+ if s.VpcEndpointId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAddRouteTableIds sets the AddRouteTableIds field's value.
+func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
+ s.AddRouteTableIds = v
+ return s
+}
+
+// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
+func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
+ s.AddSecurityGroupIds = v
+ return s
+}
+
+// SetAddSubnetIds sets the AddSubnetIds field's value.
+func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
+ s.AddSubnetIds = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPolicyDocument sets the PolicyDocument field's value.
+func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
+ s.PolicyDocument = &v
+ return s
+}
+
+// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
+func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
+ s.PrivateDnsEnabled = &v
+ return s
+}
+
+// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
+func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
+ s.RemoveRouteTableIds = v
+ return s
+}
+
+// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
+func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
+ s.RemoveSecurityGroupIds = v
+ return s
+}
+
+// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
+func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
+ s.RemoveSubnetIds = v
+ return s
+}
+
+// SetResetPolicy sets the ResetPolicy field's value.
+func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
+ s.ResetPolicy = &v
+ return s
+}
+
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
+ s.VpcEndpointId = &v
+ return s
+}
+
+type ModifyVpcEndpointOutput 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 ModifyVpcEndpointOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
+ s.Return = &v
+ return s
+}
+
+type ModifyVpcEndpointServiceConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Indicate whether requests to create an endpoint to your service must be accepted.
+ AcceptanceRequired *bool `type:"boolean"`
+
+ // The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
+ // service configuration.
+ AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" 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 Amazon Resource Names (ARNs) of Network Load Balancers to remove from
+ // your service configuration.
+ RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
+
+ // The ID of the service.
+ //
+ // ServiceId is a required field
+ ServiceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
+ if s.ServiceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAcceptanceRequired sets the AcceptanceRequired field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
+ s.AcceptanceRequired = &v
+ return s
+}
+
+// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
+ s.AddNetworkLoadBalancerArns = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
+ s.RemoveNetworkLoadBalancerArns = v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
+ s.ServiceId = &v
+ return s
+}
+
+type ModifyVpcEndpointServiceConfigurationOutput 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 ModifyVpcEndpointServiceConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
+ s.Return = &v
+ return s
+}
+
+type ModifyVpcEndpointServicePermissionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more Amazon Resource Names (ARNs) of principals for which to allow
+ // permission. Specify * to allow all principals.
+ AddAllowedPrincipals []*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"`
+
+ // One or more Amazon Resource Names (ARNs) of principals for which to remove
+ // permission.
+ RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the service.
+ //
+ // ServiceId is a required field
+ ServiceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcEndpointServicePermissionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
+ if s.ServiceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
+func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
+ s.AddAllowedPrincipals = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
+func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
+ s.RemoveAllowedPrincipals = v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
+ s.ServiceId = &v
+ return s
+}
+
+type ModifyVpcEndpointServicePermissionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ ReturnValue *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturnValue sets the ReturnValue field's value.
+func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
+ s.ReturnValue = &v
+ return s
+}
+
+type ModifyVpcPeeringConnectionOptionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The VPC peering connection options for the accepter VPC.
+ AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
+
+ // Checks whether you have the required permissions for the operation, 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 VPC peering connection options for the requester VPC.
+ RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
+
+ // The ID of the VPC peering connection.
+ //
+ // VpcPeeringConnectionId is a required field
+ VpcPeeringConnectionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
+ if s.VpcPeeringConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
+func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
+ s.AccepterPeeringConnectionOptions = v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
+func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
+ s.RequesterPeeringConnectionOptions = v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+type ModifyVpcPeeringConnectionOptionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC peering connection options for the accepter VPC.
+ AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
+
+ // Information about the VPC peering connection options for the requester VPC.
+ RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
+func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
+ s.AccepterPeeringConnectionOptions = v
+ return s
+}
+
+// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
+func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
+ s.RequesterPeeringConnectionOptions = v
+ return s
+}
+
+// Contains the parameters for ModifyVpcTenancy.
+type ModifyVpcTenancyInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the operation, 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 instance tenancy attribute for the VPC.
+ //
+ // InstanceTenancy is a required field
+ InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ModifyVpcTenancyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcTenancyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyVpcTenancyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
+ if s.InstanceTenancy == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the output of ModifyVpcTenancy.
+type ModifyVpcTenancyOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, returns an error.
+ ReturnValue *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ModifyVpcTenancyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVpcTenancyOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturnValue sets the ReturnValue field's value.
+func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
+ s.ReturnValue = &v
+ return s
+}
+
+// Contains the parameters for MonitorInstances.
+type MonitorInstancesInput 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 instance IDs.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s MonitorInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MonitorInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MonitorInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// Contains the output of MonitorInstances.
+type MonitorInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The monitoring information.
+ InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s MonitorInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MonitorInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceMonitorings sets the InstanceMonitorings field's value.
+func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
+ s.InstanceMonitorings = v
+ return s
+}
+
+// Describes the monitoring of an instance.
+type Monitoring struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
+ // is enabled.
+ State *string `locationName:"state" type:"string" enum:"MonitoringState"`
+}
+
+// String returns the string representation
+func (s Monitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Monitoring) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *Monitoring) SetState(v string) *Monitoring {
+ s.State = &v
+ return s
+}
+
+// Contains the parameters for MoveAddressToVpc.
+type MoveAddressToVpcInput 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"`
+
+ // The Elastic IP address.
+ //
+ // PublicIp is a required field
+ PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s MoveAddressToVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MoveAddressToVpcInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MoveAddressToVpcInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
+ if s.PublicIp == nil {
+ invalidParams.Add(request.NewErrParamRequired("PublicIp"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
+ s.PublicIp = &v
+ return s
+}
+
+// Contains the output of MoveAddressToVpc.
+type MoveAddressToVpcOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The allocation ID for the Elastic IP address.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // The status of the move of the IP address.
+ Status *string `locationName:"status" type:"string" enum:"Status"`
+}
+
+// String returns the string representation
+func (s MoveAddressToVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MoveAddressToVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
+ s.AllocationId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
+ s.Status = &v
+ return s
+}
+
+// Describes the status of a moving Elastic IP address.
+type MovingAddressStatus struct {
+ _ struct{} `type:"structure"`
+
+ // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
+ // or restored to the EC2-Classic platform.
+ MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
+
+ // The Elastic IP address.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+}
+
+// String returns the string representation
+func (s MovingAddressStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MovingAddressStatus) GoString() string {
+ return s.String()
+}
+
+// SetMoveStatus sets the MoveStatus field's value.
+func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
+ s.MoveStatus = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
+ s.PublicIp = &v
+ return s
+}
+
+// Describes a NAT gateway.
+type NatGateway struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the NAT gateway was created.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The date and time the NAT gateway was deleted, if applicable.
+ DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // If the NAT gateway could not be created, specifies the error code for the
+ // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
+ // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
+ FailureCode *string `locationName:"failureCode" type:"string"`
+
+ // If the NAT gateway could not be created, specifies the error message for
+ // the failure, that corresponds to the error code.
+ //
+ // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
+ // addresses to create this NAT gateway"
+ //
+ // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
+ // attached"
+ //
+ // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
+ // could not be associated with this NAT gateway"
+ //
+ // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
+ // is already associated"
+ //
+ // * For InternalError: "Network interface eni-xxxxxxxx, created and used
+ // internally by this NAT gateway is in an invalid state. Please try again."
+ //
+ // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
+ // does not exist or could not be found."
+ FailureMessage *string `locationName:"failureMessage" type:"string"`
+
+ // Information about the IP addresses and network interface associated with
+ // the NAT gateway.
+ NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
+
+ // The ID of the NAT gateway.
+ 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),
+ // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
+ ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
+
+ // The state of the NAT gateway.
+ //
+ // * pending: The NAT gateway is being created and is not ready to process
+ // traffic.
+ //
+ // * failed: The NAT gateway could not be created. Check the failureCode
+ // and failureMessage fields for the reason.
+ //
+ // * available: The NAT gateway is able to process traffic. This status remains
+ // until you delete the NAT gateway, and does not indicate the health of
+ // the NAT gateway.
+ //
+ // * deleting: The NAT gateway is in the process of being terminated and
+ // may still be processing traffic.
+ //
+ // * deleted: The NAT gateway has been terminated and is no longer processing
+ // traffic.
+ State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
+
+ // The ID of the subnet in which the NAT gateway is located.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The tags for the NAT gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC in which the NAT gateway is located.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s NatGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NatGateway) GoString() string {
+ return s.String()
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
+ s.CreateTime = &v
+ return s
+}
+
+// SetDeleteTime sets the DeleteTime field's value.
+func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
+ s.DeleteTime = &v
+ return s
+}
+
+// SetFailureCode sets the FailureCode field's value.
+func (s *NatGateway) SetFailureCode(v string) *NatGateway {
+ s.FailureCode = &v
+ return s
+}
+
+// SetFailureMessage sets the FailureMessage field's value.
+func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
+ s.FailureMessage = &v
+ return s
+}
+
+// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
+func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
+ s.NatGatewayAddresses = v
+ return s
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
+ s.NatGatewayId = &v
+ return s
+}
+
+// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
+func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
+ s.ProvisionedBandwidth = v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *NatGateway) SetState(v string) *NatGateway {
+ s.State = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *NatGateway) SetSubnetId(v string) *NatGateway {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *NatGateway) SetVpcId(v string) *NatGateway {
+ s.VpcId = &v
+ return s
+}
+
+// Describes the IP addresses and network interface associated with a NAT gateway.
+type NatGatewayAddress struct {
+ _ struct{} `type:"structure"`
+
+ // The allocation ID of the Elastic IP address that's associated with the NAT
+ // gateway.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // The ID of the network interface associated with the NAT gateway.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The private IP address associated with the Elastic IP address.
+ PrivateIp *string `locationName:"privateIp" type:"string"`
+
+ // The Elastic IP address associated with the NAT gateway.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+}
+
+// String returns the string representation
+func (s NatGatewayAddress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NatGatewayAddress) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
+ s.AllocationId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIp sets the PrivateIp field's value.
+func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
+ s.PrivateIp = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
+ s.PublicIp = &v
+ return s
+}
+
+// Describes a network ACL.
+type NetworkAcl struct {
+ _ struct{} `type:"structure"`
+
+ // Any associations between the network ACL and one or more subnets
+ Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
+
+ // One or more entries (rules) in the network ACL.
+ Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
+
+ // Indicates whether this is the default network ACL for the VPC.
+ IsDefault *bool `locationName:"default" type:"boolean"`
+
+ // The ID of the network ACL.
+ NetworkAclId *string `locationName:"networkAclId" type:"string"`
+
+ // Any tags assigned to the network ACL.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC for the network ACL.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkAcl) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkAcl) GoString() string {
+ return s.String()
+}
+
+// SetAssociations sets the Associations field's value.
+func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
+ s.Associations = v
+ return s
+}
+
+// SetEntries sets the Entries field's value.
+func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
+ s.Entries = v
+ return s
+}
+
+// SetIsDefault sets the IsDefault field's value.
+func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
+ s.IsDefault = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
+ s.NetworkAclId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
+ s.VpcId = &v
+ return s
+}
+
+// Describes an association between a network ACL and a subnet.
+type NetworkAclAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the association between a network ACL and a subnet.
+ NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
+
+ // The ID of the network ACL.
+ NetworkAclId *string `locationName:"networkAclId" type:"string"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkAclAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkAclAssociation) GoString() string {
+ return s.String()
+}
+
+// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
+func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
+ s.NetworkAclAssociationId = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
+ s.NetworkAclId = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
+ s.SubnetId = &v
+ return s
+}
+
+// Describes an entry in a network ACL.
+type NetworkAclEntry struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 network range to allow or deny, in CIDR notation.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Indicates whether the rule is an egress rule (applied to traffic leaving
+ // the subnet).
+ Egress *bool `locationName:"egress" type:"boolean"`
+
+ // ICMP protocol: The ICMP type and code.
+ IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
+
+ // The IPv6 network range to allow or deny, in CIDR notation.
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The protocol. A value of -1 means all protocols.
+ Protocol *string `locationName:"protocol" type:"string"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
+
+ // The rule number for the entry. ACL entries are processed in ascending order
+ // by rule number.
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
+}
+
+// String returns the string representation
+func (s NetworkAclEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkAclEntry) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetEgress sets the Egress field's value.
+func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
+ s.Egress = &v
+ return s
+}
+
+// SetIcmpTypeCode sets the IcmpTypeCode field's value.
+func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
+ s.IcmpTypeCode = v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetPortRange sets the PortRange field's value.
+func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
+ s.PortRange = v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
+ s.Protocol = &v
+ return s
+}
+
+// SetRuleAction sets the RuleAction field's value.
+func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
+ s.RuleAction = &v
+ return s
+}
+
+// SetRuleNumber sets the RuleNumber field's value.
+func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
+ s.RuleNumber = &v
+ return s
+}
+
+// Describes a network interface.
+type NetworkInterface struct {
+ _ struct{} `type:"structure"`
+
+ // The association information for an Elastic IP address (IPv4) associated with
+ // the network interface.
+ Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // The network interface attachment.
+ Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // A description.
+ Description *string `locationName:"description" type:"string"`
+
+ // Any security groups for the network interface.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The type of interface.
+ InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
+
+ // The IPv6 addresses associated with the network interface.
+ Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
+
+ // The MAC address.
+ MacAddress *string `locationName:"macAddress" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The AWS account ID of the owner of the network interface.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The private DNS name.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The IPv4 address of the network interface within the subnet.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The private IPv4 addresses associated with the network interface.
+ PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
+
+ // The ID of the entity that launched the instance on your behalf (for example,
+ // AWS Management Console or Auto Scaling).
+ RequesterId *string `locationName:"requesterId" type:"string"`
+
+ // Indicates whether the network interface is being managed by AWS.
+ RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
+
+ // Indicates whether traffic to or from the instance is validated.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // The status of the network interface.
+ Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the network interface.
+ TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterface) GoString() string {
+ return s.String()
+}
+
+// SetAssociation sets the Association field's value.
+func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
+ s.Association = v
+ return s
+}
+
+// SetAttachment sets the Attachment field's value.
+func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
+ s.Attachment = v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
+ s.Description = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
+ s.Groups = v
+ return s
+}
+
+// SetInterfaceType sets the InterfaceType field's value.
+func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
+ s.InterfaceType = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetMacAddress sets the MacAddress field's value.
+func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
+ s.MacAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+// SetRequesterId sets the RequesterId field's value.
+func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
+ s.RequesterId = &v
+ return s
+}
+
+// SetRequesterManaged sets the RequesterManaged field's value.
+func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
+ s.RequesterManaged = &v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
+ s.SourceDestCheck = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
+ s.Status = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTagSet sets the TagSet field's value.
+func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
+ s.TagSet = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
+ s.VpcId = &v
+ return s
+}
+
+// Describes association information for an Elastic IP address (IPv4 only).
+type NetworkInterfaceAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The allocation ID.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // The association ID.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The ID of the Elastic IP address owner.
+ IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
+
+ // The public DNS name.
+ PublicDnsName *string `locationName:"publicDnsName" type:"string"`
+
+ // The address of the Elastic IP address bound to the network interface.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAssociation) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
+ s.AllocationId = &v
+ return s
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
+ s.AssociationId = &v
+ return s
+}
+
+// SetIpOwnerId sets the IpOwnerId field's value.
+func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
+ s.IpOwnerId = &v
+ return s
+}
+
+// SetPublicDnsName sets the PublicDnsName field's value.
+func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
+ s.PublicDnsName = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
+ s.PublicIp = &v
+ return s
+}
+
+// Describes a network interface attachment.
+type NetworkInterfaceAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // The timestamp indicating when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The ID of the network interface attachment.
+ AttachmentId *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The device index of the network interface attachment on the instance.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The AWS account ID of the owner of the instance.
+ InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAttachment) GoString() string {
+ return s.String()
+}
+
+// SetAttachTime sets the AttachTime field's value.
+func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
+ s.AttachTime = &v
+ return s
+}
+
+// SetAttachmentId sets the AttachmentId field's value.
+func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
+ s.AttachmentId = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceOwnerId sets the InstanceOwnerId field's value.
+func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
+ s.InstanceOwnerId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
+ s.Status = &v
+ return s
+}
+
+// Describes an attachment change.
+type NetworkInterfaceAttachmentChanges struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the network interface attachment.
+ AttachmentId *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAttachmentChanges) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAttachmentChanges) GoString() string {
+ return s.String()
+}
+
+// SetAttachmentId sets the AttachmentId field's value.
+func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
+ s.AttachmentId = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// Describes an IPv6 address associated with a network interface.
+type NetworkInterfaceIpv6Address struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 address.
+ Ipv6Address *string `locationName:"ipv6Address" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceIpv6Address) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceIpv6Address) GoString() string {
+ return s.String()
+}
+
+// SetIpv6Address sets the Ipv6Address field's value.
+func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
+ s.Ipv6Address = &v
+ return s
+}
+
+// Describes a permission for a network interface.
+type NetworkInterfacePermission struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID.
+ AwsAccountId *string `locationName:"awsAccountId" type:"string"`
+
+ // The AWS service.
+ AwsService *string `locationName:"awsService" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the network interface permission.
+ NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
+
+ // The type of permission.
+ Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
+
+ // Information about the state of the permission.
+ PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePermission) GoString() string {
+ return s.String()
+}
+
+// SetAwsAccountId sets the AwsAccountId field's value.
+func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
+ s.AwsAccountId = &v
+ return s
+}
+
+// SetAwsService sets the AwsService field's value.
+func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
+ s.AwsService = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
+func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
+ s.NetworkInterfacePermissionId = &v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
+ s.Permission = &v
+ return s
+}
+
+// SetPermissionState sets the PermissionState field's value.
+func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
+ s.PermissionState = v
+ return s
+}
+
+// Describes the state of a network interface permission.
+type NetworkInterfacePermissionState struct {
+ _ struct{} `type:"structure"`
+
+ // The state of the permission.
+ State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
+
+ // A status message, if applicable.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePermissionState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePermissionState) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes the private IPv4 address of a network interface.
+type NetworkInterfacePrivateIpAddress struct {
+ _ struct{} `type:"structure"`
+
+ // The association information for an Elastic IP address (IPv4) associated with
+ // the network interface.
+ Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // Indicates whether this IPv4 address is the primary private IPv4 address of
+ // the network interface.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private DNS name.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IPv4 address.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePrivateIpAddress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePrivateIpAddress) GoString() string {
+ return s.String()
+}
+
+// SetAssociation sets the Association field's value.
+func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
+ s.Association = v
+ return s
+}
+
+// SetPrimary sets the Primary field's value.
+func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
+ s.Primary = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+type NewDhcpConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ Key *string `locationName:"key" type:"string"`
+
+ Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s NewDhcpConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NewDhcpConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetKey sets the Key field's value.
+func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
+ s.Key = &v
+ return s
+}
+
+// SetValues sets the Values field's value.
+func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
+ s.Values = v
+ return s
+}
+
+// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
+// bus.
+type PciId struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the device.
+ DeviceId *string `type:"string"`
+
+ // The ID of the subsystem.
+ SubsystemId *string `type:"string"`
+
+ // The ID of the vendor for the subsystem.
+ SubsystemVendorId *string `type:"string"`
+
+ // The ID of the vendor.
+ VendorId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s PciId) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PciId) GoString() string {
+ return s.String()
+}
+
+// SetDeviceId sets the DeviceId field's value.
+func (s *PciId) SetDeviceId(v string) *PciId {
+ s.DeviceId = &v
+ return s
+}
+
+// SetSubsystemId sets the SubsystemId field's value.
+func (s *PciId) SetSubsystemId(v string) *PciId {
+ s.SubsystemId = &v
+ return s
+}
+
+// SetSubsystemVendorId sets the SubsystemVendorId field's value.
+func (s *PciId) SetSubsystemVendorId(v string) *PciId {
+ s.SubsystemVendorId = &v
+ return s
+}
+
+// SetVendorId sets the VendorId field's value.
+func (s *PciId) SetVendorId(v string) *PciId {
+ s.VendorId = &v
+ return s
+}
+
+// Describes the VPC peering connection options.
+type PeeringConnectionOptions struct {
+ _ struct{} `type:"structure"`
+
+ // If true, the public DNS hostnames of instances in the specified VPC resolve
+ // to private IP addresses when queried from instances in the peer VPC.
+ AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
+
+ // If true, enables outbound communication from an EC2-Classic instance that's
+ // linked to a local VPC via ClassicLink to instances in a peer VPC.
+ AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
+
+ // If true, enables outbound communication from instances in a local VPC to
+ // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
+ AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
+}
+
+// String returns the string representation
+func (s PeeringConnectionOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PeeringConnectionOptions) GoString() string {
+ return s.String()
+}
+
+// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
+func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
+ s.AllowDnsResolutionFromRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
+func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
+ s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
+func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
+ s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
+ return s
+}
+
+// The VPC peering connection options.
+type PeeringConnectionOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // If true, enables a local VPC to resolve public DNS hostnames to private IP
+ // addresses when queried from instances in the peer VPC.
+ AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
+
+ // If true, enables outbound communication from an EC2-Classic instance that's
+ // linked to a local VPC via ClassicLink to instances in a peer VPC.
+ AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
+
+ // If true, enables outbound communication from instances in a local VPC to
+ // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
+ AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s PeeringConnectionOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PeeringConnectionOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
+func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
+ s.AllowDnsResolutionFromRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
+func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
+ s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
+func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
+ s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
+ return s
+}
+
+// Describes the placement of an instance.
+type Placement struct {
+ _ struct{} `type:"structure"`
+
+ // The affinity setting for the instance on the Dedicated Host. This parameter
+ // is not supported for the ImportInstance command.
+ Affinity *string `locationName:"affinity" type:"string"`
+
+ // The Availability Zone of the instance.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The name of the placement group the instance is in (for cluster compute instances).
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The ID of the Dedicated Host on which the instance resides. This parameter
+ // is not supported for the ImportInstance command.
+ HostId *string `locationName:"hostId" type:"string"`
+
+ // Reserved for future use.
+ SpreadDomain *string `locationName:"spreadDomain" type:"string"`
+
+ // The tenancy of the instance (if the instance is running in a VPC). An instance
+ // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
+ // is not supported for the ImportInstance command.
+ Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
+}
+
+// String returns the string representation
+func (s Placement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Placement) GoString() string {
+ return s.String()
+}
+
+// SetAffinity sets the Affinity field's value.
+func (s *Placement) SetAffinity(v string) *Placement {
+ s.Affinity = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *Placement) SetAvailabilityZone(v string) *Placement {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *Placement) SetGroupName(v string) *Placement {
+ s.GroupName = &v
+ return s
+}
+
+// SetHostId sets the HostId field's value.
+func (s *Placement) SetHostId(v string) *Placement {
+ s.HostId = &v
+ return s
+}
+
+// SetSpreadDomain sets the SpreadDomain field's value.
+func (s *Placement) SetSpreadDomain(v string) *Placement {
+ s.SpreadDomain = &v
+ return s
+}
+
+// SetTenancy sets the Tenancy field's value.
+func (s *Placement) SetTenancy(v string) *Placement {
+ s.Tenancy = &v
+ return s
+}
+
+// Describes a placement group.
+type PlacementGroup struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the placement group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The state of the placement group.
+ State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
+
+ // The placement strategy.
+ Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
+}
+
+// String returns the string representation
+func (s PlacementGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PlacementGroup) GoString() string {
+ return s.String()
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
+ s.GroupName = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *PlacementGroup) SetState(v string) *PlacementGroup {
+ s.State = &v
+ return s
+}
+
+// SetStrategy sets the Strategy field's value.
+func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
+ s.Strategy = &v
+ return s
+}
+
+// Describes a range of ports.
+type PortRange struct {
+ _ struct{} `type:"structure"`
+
+ // The first port in the range.
+ From *int64 `locationName:"from" type:"integer"`
+
+ // The last port in the range.
+ To *int64 `locationName:"to" 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()
+}
+
+// SetFrom sets the From field's value.
+func (s *PortRange) SetFrom(v int64) *PortRange {
+ s.From = &v
+ return s
+}
+
+// SetTo sets the To field's value.
+func (s *PortRange) SetTo(v int64) *PortRange {
+ s.To = &v
+ return s
+}
+
+// Describes prefixes for AWS services.
+type PrefixList struct {
+ _ struct{} `type:"structure"`
+
+ // The IP address range of the AWS service.
+ Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
+
+ // The ID of the prefix.
+ PrefixListId *string `locationName:"prefixListId" type:"string"`
+
+ // The name of the prefix.
+ PrefixListName *string `locationName:"prefixListName" type:"string"`
+}
+
+// String returns the string representation
+func (s PrefixList) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrefixList) GoString() string {
+ return s.String()
+}
+
+// SetCidrs sets the Cidrs field's value.
+func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
+ s.Cidrs = v
+ return s
+}
+
+// SetPrefixListId sets the PrefixListId field's value.
+func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
+ s.PrefixListId = &v
+ return s
+}
+
+// SetPrefixListName sets the PrefixListName field's value.
+func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
+ s.PrefixListName = &v
+ return s
+}
+
+// [EC2-VPC only] The ID of the prefix.
+type PrefixListId struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the security group rule that references this prefix list
+ // ID.
+ //
+ // Constraints: Up to 255 characters in length. Allowed characters are a-z,
+ // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the prefix.
+ PrefixListId *string `locationName:"prefixListId" type:"string"`
+}
+
+// String returns the string representation
+func (s PrefixListId) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrefixListId) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *PrefixListId) SetDescription(v string) *PrefixListId {
+ s.Description = &v
+ return s
+}
+
+// SetPrefixListId sets the PrefixListId field's value.
+func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
+ s.PrefixListId = &v
+ return s
+}
+
+// Describes the price for a Reserved Instance.
+type PriceSchedule struct {
+ _ struct{} `type:"structure"`
+
+ // The current price schedule, as determined by the term remaining for the Reserved
+ // Instance in the listing.
+ //
+ // A specific price schedule is always in effect, but only one price schedule
+ // can be active at any time. Take, for example, a Reserved Instance listing
+ // that has five months remaining in its term. When you specify price schedules
+ // for five months and two months, this means that schedule 1, covering the
+ // first three months of the remaining term, will be active during months 5,
+ // 4, and 3. Then schedule 2, covering the last two months of the term, will
+ // be active for months 2 and 1.
+ Active *bool `locationName:"active" type:"boolean"`
+
+ // The currency for transacting the Reserved Instance resale. At this time,
+ // the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The fixed price for the term.
+ Price *float64 `locationName:"price" type:"double"`
+
+ // The number of months remaining in the reservation. For example, 2 is the
+ // second to the last month before the capacity reservation expires.
+ Term *int64 `locationName:"term" type:"long"`
+}
+
+// String returns the string representation
+func (s PriceSchedule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PriceSchedule) GoString() string {
+ return s.String()
+}
+
+// SetActive sets the Active field's value.
+func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
+ s.Active = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetPrice sets the Price field's value.
+func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
+ s.Price = &v
+ return s
+}
+
+// SetTerm sets the Term field's value.
+func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
+ s.Term = &v
+ return s
+}
+
+// Describes the price for a Reserved Instance.
+type PriceScheduleSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The currency for transacting the Reserved Instance resale. At this time,
+ // the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The fixed price for the term.
+ Price *float64 `locationName:"price" type:"double"`
+
+ // The number of months remaining in the reservation. For example, 2 is the
+ // second to the last month before the capacity reservation expires.
+ Term *int64 `locationName:"term" type:"long"`
+}
+
+// String returns the string representation
+func (s PriceScheduleSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PriceScheduleSpecification) GoString() string {
+ return s.String()
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetPrice sets the Price field's value.
+func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
+ s.Price = &v
+ return s
+}
+
+// SetTerm sets the Term field's value.
+func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
+ s.Term = &v
+ return s
+}
+
+// Describes a Reserved Instance offering.
+type PricingDetail struct {
+ _ struct{} `type:"structure"`
+
+ // The number of reservations available for the price.
+ Count *int64 `locationName:"count" type:"integer"`
+
+ // The price per instance.
+ Price *float64 `locationName:"price" type:"double"`
+}
+
+// String returns the string representation
+func (s PricingDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PricingDetail) GoString() string {
+ return s.String()
+}
+
+// SetCount sets the Count field's value.
+func (s *PricingDetail) SetCount(v int64) *PricingDetail {
+ s.Count = &v
+ return s
+}
+
+// SetPrice sets the Price field's value.
+func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
+ s.Price = &v
+ return s
+}
+
+// PrincipalIdFormat description
+type PrincipalIdFormat struct {
+ _ struct{} `type:"structure"`
+
+ // PrincipalIdFormatARN description
+ Arn *string `locationName:"arn" type:"string"`
+
+ // PrincipalIdFormatStatuses description
+ Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s PrincipalIdFormat) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrincipalIdFormat) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
+ s.Arn = &v
+ return s
+}
+
+// SetStatuses sets the Statuses field's value.
+func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
+ s.Statuses = v
+ return s
+}
+
+// Describes a secondary private IPv4 address for a network interface.
+type PrivateIpAddressSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the private IPv4 address is the primary private IPv4 address.
+ // Only one IPv4 address can be designated as primary.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private IPv4 addresses.
+ //
+ // PrivateIpAddress is a required field
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PrivateIpAddressSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrivateIpAddressSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PrivateIpAddressSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
+ if s.PrivateIpAddress == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPrimary sets the Primary field's value.
+func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
+ s.Primary = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// Describes a product code.
+type ProductCode struct {
+ _ struct{} `type:"structure"`
+
+ // The product code.
+ ProductCodeId *string `locationName:"productCode" type:"string"`
+
+ // The type of product code.
+ ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
+}
+
+// String returns the string representation
+func (s ProductCode) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ProductCode) GoString() string {
+ return s.String()
+}
+
+// SetProductCodeId sets the ProductCodeId field's value.
+func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
+ s.ProductCodeId = &v
+ return s
+}
+
+// SetProductCodeType sets the ProductCodeType field's value.
+func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
+ s.ProductCodeType = &v
+ return s
+}
+
+// Describes a virtual private gateway propagating route.
+type PropagatingVgw struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the virtual private gateway (VGW).
+ GatewayId *string `locationName:"gatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s PropagatingVgw) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PropagatingVgw) GoString() string {
+ return s.String()
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
+ s.GatewayId = &v
+ return s
+}
+
+// Reserved. If you need to sustain traffic greater than the documented limits
+// (http://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),
+ // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
+ ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Reserved. If you need to sustain traffic greater than the documented limits
+ // (http://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),
+ // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
+ RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Reserved. If you need to sustain traffic greater than the documented limits
+ // (http://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),
+ // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
+ Status *string `locationName:"status" type:"string"`
+}
+
+// String returns the string representation
+func (s ProvisionedBandwidth) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ProvisionedBandwidth) GoString() string {
+ return s.String()
+}
+
+// SetProvisionTime sets the ProvisionTime field's value.
+func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
+ s.ProvisionTime = &v
+ return s
+}
+
+// SetProvisioned sets the Provisioned field's value.
+func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
+ s.Provisioned = &v
+ return s
+}
+
+// SetRequestTime sets the RequestTime field's value.
+func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
+ s.RequestTime = &v
+ return s
+}
+
+// SetRequested sets the Requested field's value.
+func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
+ s.Requested = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
+ s.Status = &v
+ return s
+}
+
+// Describes the result of the purchase.
+type Purchase struct {
+ _ struct{} `type:"structure"`
+
+ // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
+ // At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the reservation's term in seconds.
+ Duration *int64 `locationName:"duration" type:"integer"`
+
+ // The IDs of the Dedicated Hosts associated with the reservation.
+ HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
+
+ // The ID of the reservation.
+ HostReservationId *string `locationName:"hostReservationId" type:"string"`
+
+ // The hourly price of the reservation per hour.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The instance family on the Dedicated Host that the reservation can be associated
+ // with.
+ InstanceFamily *string `locationName:"instanceFamily" type:"string"`
+
+ // The payment option for the reservation.
+ PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
+
+ // The upfront price of the reservation.
+ UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
+}
+
+// String returns the string representation
+func (s Purchase) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Purchase) GoString() string {
+ return s.String()
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *Purchase) SetCurrencyCode(v string) *Purchase {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetDuration sets the Duration field's value.
+func (s *Purchase) SetDuration(v int64) *Purchase {
+ s.Duration = &v
+ return s
+}
+
+// SetHostIdSet sets the HostIdSet field's value.
+func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
+ s.HostIdSet = v
+ return s
+}
+
+// SetHostReservationId sets the HostReservationId field's value.
+func (s *Purchase) SetHostReservationId(v string) *Purchase {
+ s.HostReservationId = &v
+ return s
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *Purchase) SetHourlyPrice(v string) *Purchase {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *Purchase) SetInstanceFamily(v string) *Purchase {
+ s.InstanceFamily = &v
+ return s
+}
+
+// SetPaymentOption sets the PaymentOption field's value.
+func (s *Purchase) SetPaymentOption(v string) *Purchase {
+ s.PaymentOption = &v
+ return s
+}
+
+// SetUpfrontPrice sets the UpfrontPrice field's value.
+func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
+ s.UpfrontPrice = &v
+ return s
+}
+
+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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `type:"string"`
+
+ // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
+ // amounts are specified. At this time, the only supported currency is USD.
+ CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
+
+ // The ID/s of the Dedicated Host/s that the reservation will be associated
+ // with.
+ //
+ // HostIdSet is a required field
+ HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
+
+ // The specified limit is checked against the total upfront cost of the reservation
+ // (calculated as the offering's upfront cost multiplied by the host count).
+ // If the total upfront cost is greater than the specified price limit, the
+ // request will fail. This is used to ensure that the purchase does not exceed
+ // the expected upfront cost of the purchase. At this time, the only supported
+ // currency is USD. For example, to indicate a limit price of USD 100, specify
+ // 100.00.
+ LimitPrice *string `type:"string"`
+
+ // The ID of the offering.
+ //
+ // OfferingId is a required field
+ OfferingId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PurchaseHostReservationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseHostReservationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PurchaseHostReservationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
+ if s.HostIdSet == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
+ }
+ if s.OfferingId == nil {
+ invalidParams.Add(request.NewErrParamRequired("OfferingId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetHostIdSet sets the HostIdSet field's value.
+func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
+ s.HostIdSet = v
+ return s
+}
+
+// SetLimitPrice sets the LimitPrice field's value.
+func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
+ s.LimitPrice = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
+ s.OfferingId = &v
+ return s
+}
+
+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)
+ // in the Amazon Elastic Compute Cloud User Guide
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
+ // are specified. At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // Describes the details of the purchase.
+ Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
+
+ // The total hourly price of the reservation calculated per hour.
+ TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
+
+ // The total amount that will be charged to your account when you purchase the
+ // reservation.
+ TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
+}
+
+// String returns the string representation
+func (s PurchaseHostReservationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseHostReservationOutput) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetPurchase sets the Purchase field's value.
+func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
+ s.Purchase = v
+ return s
+}
+
+// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
+func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
+ s.TotalHourlyPrice = &v
+ return s
+}
+
+// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
+func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
+ s.TotalUpfrontPrice = &v
+ return s
+}
+
+// Describes a request to purchase Scheduled Instances.
+type PurchaseRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The number of instances.
+ //
+ // InstanceCount is a required field
+ InstanceCount *int64 `type:"integer" required:"true"`
+
+ // The purchase token.
+ //
+ // PurchaseToken is a required field
+ PurchaseToken *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PurchaseRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PurchaseRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
+ if s.InstanceCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
+ }
+ if s.PurchaseToken == nil {
+ invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetPurchaseToken sets the PurchaseToken field's value.
+func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
+ s.PurchaseToken = &v
+ return s
+}
+
+// Contains the parameters for PurchaseReservedInstancesOffering.
+type PurchaseReservedInstancesOfferingInput 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"`
+
+ // The number of Reserved Instances to purchase.
+ //
+ // InstanceCount is a required field
+ InstanceCount *int64 `type:"integer" required:"true"`
+
+ // Specified for Reserved Instance Marketplace offerings to limit the total
+ // order and ensure that the Reserved Instances are not purchased at unexpected
+ // prices.
+ LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
+
+ // The ID of the Reserved Instance offering to purchase.
+ //
+ // ReservedInstancesOfferingId is a required field
+ ReservedInstancesOfferingId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PurchaseReservedInstancesOfferingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseReservedInstancesOfferingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
+ if s.InstanceCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
+ }
+ if s.ReservedInstancesOfferingId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetLimitPrice sets the LimitPrice field's value.
+func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
+ s.LimitPrice = v
+ return s
+}
+
+// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
+func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
+ s.ReservedInstancesOfferingId = &v
+ return s
+}
+
+// Contains the output of PurchaseReservedInstancesOffering.
+type PurchaseReservedInstancesOfferingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of the purchased Reserved Instances.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+}
+
+// String returns the string representation
+func (s PurchaseReservedInstancesOfferingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// Contains the parameters for PurchaseScheduledInstances.
+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).
+ ClientToken *string `type:"string" idempotencyToken:"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"`
+
+ // One or more purchase requests.
+ //
+ // PurchaseRequests is a required field
+ PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s PurchaseScheduledInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseScheduledInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PurchaseScheduledInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
+ if s.PurchaseRequests == nil {
+ invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
+ }
+ if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
+ }
+ if s.PurchaseRequests != nil {
+ for i, v := range s.PurchaseRequests {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPurchaseRequests sets the PurchaseRequests field's value.
+func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
+ s.PurchaseRequests = v
+ return s
+}
+
+// Contains the output of PurchaseScheduledInstances.
+type PurchaseScheduledInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Scheduled Instances.
+ ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s PurchaseScheduledInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseScheduledInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
+func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
+ s.ScheduledInstanceSet = v
+ return s
+}
+
+// Contains the parameters for RebootInstances.
+type RebootInstancesInput 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 instance IDs.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s RebootInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RebootInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RebootInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+type RebootInstancesOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s RebootInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RebootInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a recurring charge.
+type RecurringCharge struct {
+ _ struct{} `type:"structure"`
+
+ // The amount of the recurring charge.
+ Amount *float64 `locationName:"amount" type:"double"`
+
+ // The frequency of the recurring charge.
+ Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
+}
+
+// String returns the string representation
+func (s RecurringCharge) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RecurringCharge) GoString() string {
+ return s.String()
+}
+
+// SetAmount sets the Amount field's value.
+func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
+ s.Amount = &v
+ return s
+}
+
+// SetFrequency sets the Frequency field's value.
+func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
+ s.Frequency = &v
+ return s
+}
+
+// Describes a region.
+type Region struct {
+ _ struct{} `type:"structure"`
+
+ // The region service endpoint.
+ Endpoint *string `locationName:"regionEndpoint" type:"string"`
+
+ // The name of the region.
+ RegionName *string `locationName:"regionName" type:"string"`
+}
+
+// String returns the string representation
+func (s Region) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Region) GoString() string {
+ return s.String()
+}
+
+// SetEndpoint sets the Endpoint field's value.
+func (s *Region) SetEndpoint(v string) *Region {
+ s.Endpoint = &v
+ return s
+}
+
+// SetRegionName sets the RegionName field's value.
+func (s *Region) SetRegionName(v string) *Region {
+ s.RegionName = &v
+ return s
+}
+
+// Contains the parameters for RegisterImage.
+type RegisterImageInput struct {
+ _ struct{} `type:"structure"`
+
+ // The architecture of the AMI.
+ //
+ // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
+ // the architecture specified in the manifest file.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // The billing product codes. Your account must be authorized to specify billing
+ // product codes. Otherwise, you can use the AWS Marketplace to bill for the
+ // use of an AMI.
+ BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // A description for your AMI.
+ Description *string `locationName:"description" 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 `locationName:"dryRun" type:"boolean"`
+
+ // Set to true to enable enhanced networking with ENA for the AMI and any instances
+ // that you launch from the AMI.
+ //
+ // This option is supported only for HVM AMIs. Specifying this option with a
+ // PV AMI can make instances launched from the AMI unreachable.
+ EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
+
+ // The full path to your AMI manifest in Amazon S3 storage.
+ ImageLocation *string `type:"string"`
+
+ // The ID of the kernel.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // A name for your AMI.
+ //
+ // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
+ // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
+ // at-signs (@), or underscores(_)
+ //
+ // Name is a required field
+ Name *string `locationName:"name" type:"string" required:"true"`
+
+ // The ID of the RAM disk.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // The device name of the root device volume (for example, /dev/sda1).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // Set to simple to enable enhanced networking with the Intel 82599 Virtual
+ // Function interface for the AMI and any instances that you launch from the
+ // AMI.
+ //
+ // There is no way to disable sriovNetSupport at this time.
+ //
+ // This option is supported only for HVM AMIs. Specifying this option with a
+ // PV AMI can make instances launched from the AMI unreachable.
+ SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // The type of virtualization (hvm | paravirtual).
+ //
+ // Default: paravirtual
+ VirtualizationType *string `locationName:"virtualizationType" type:"string"`
+}
+
+// String returns the string representation
+func (s RegisterImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RegisterImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetArchitecture sets the Architecture field's value.
+func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
+ s.Architecture = &v
+ return s
+}
+
+// SetBillingProducts sets the BillingProducts field's value.
+func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
+ s.BillingProducts = v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEnaSupport sets the EnaSupport field's value.
+func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
+ s.EnaSupport = &v
+ return s
+}
+
+// SetImageLocation sets the ImageLocation field's value.
+func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
+ s.ImageLocation = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
+ s.KernelId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
+ s.Name = &v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetRootDeviceName sets the RootDeviceName field's value.
+func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
+ s.RootDeviceName = &v
+ return s
+}
+
+// SetSriovNetSupport sets the SriovNetSupport field's value.
+func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
+ s.SriovNetSupport = &v
+ return s
+}
+
+// SetVirtualizationType sets the VirtualizationType field's value.
+func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
+ s.VirtualizationType = &v
+ return s
+}
+
+// Contains the output of RegisterImage.
+type RegisterImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the newly registered AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+}
+
+// String returns the string representation
+func (s RegisterImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
+ s.ImageId = &v
+ return s
+}
+
+type RejectVpcEndpointConnectionsInput 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 service.
+ //
+ // ServiceId is a required field
+ ServiceId *string `type:"string" required:"true"`
+
+ // The IDs of one or more VPC endpoints.
+ //
+ // VpcEndpointIds is a required field
+ VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s RejectVpcEndpointConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVpcEndpointConnectionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RejectVpcEndpointConnectionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
+ if s.ServiceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceId"))
+ }
+ if s.VpcEndpointIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
+ s.ServiceId = &v
+ return s
+}
+
+// SetVpcEndpointIds sets the VpcEndpointIds field's value.
+func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
+ s.VpcEndpointIds = v
+ return s
+}
+
+type RejectVpcEndpointConnectionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the endpoints that were not rejected, if applicable.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s RejectVpcEndpointConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVpcEndpointConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+// Contains the parameters for RejectVpcPeeringConnection.
+type RejectVpcPeeringConnectionInput 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"`
+
+ // The ID of the VPC peering connection.
+ //
+ // VpcPeeringConnectionId is a required field
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RejectVpcPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVpcPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RejectVpcPeeringConnectionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
+ if s.VpcPeeringConnectionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Contains the output of RejectVpcPeeringConnection.
+type RejectVpcPeeringConnectionOutput 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 RejectVpcPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVpcPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for ReleaseAddress.
+type ReleaseAddressInput struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-VPC] The allocation ID. Required for EC2-VPC.
+ AllocationId *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 `locationName:"dryRun" type:"boolean"`
+
+ // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
+ PublicIp *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ReleaseAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseAddressInput) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
+ s.AllocationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
+ s.PublicIp = &v
+ return s
+}
+
+type ReleaseAddressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReleaseAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseAddressOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ReleaseHosts.
+type ReleaseHostsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of the Dedicated Hosts you want to release.
+ //
+ // HostIds is a required field
+ HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ReleaseHostsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseHostsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReleaseHostsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
+ if s.HostIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostIds sets the HostIds field's value.
+func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
+ s.HostIds = v
+ return s
+}
+
+// Contains the output of ReleaseHosts.
+type ReleaseHostsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of the Dedicated Hosts that were successfully released.
+ Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
+
+ // The IDs of the Dedicated Hosts that could not be released, including an error
+ // message.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ReleaseHostsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseHostsOutput) GoString() string {
+ return s.String()
+}
+
+// SetSuccessful sets the Successful field's value.
+func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
+ s.Successful = v
+ return s
+}
+
+// SetUnsuccessful sets the Unsuccessful field's value.
+func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
+ s.Unsuccessful = v
+ return s
+}
+
+type ReplaceIamInstanceProfileAssociationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the existing IAM instance profile association.
+ //
+ // AssociationId is a required field
+ AssociationId *string `type:"string" required:"true"`
+
+ // The IAM instance profile.
+ //
+ // IamInstanceProfile is a required field
+ IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s ReplaceIamInstanceProfileAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+ if s.IamInstanceProfile == nil {
+ invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
+ s.AssociationId = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
+ s.IamInstanceProfile = v
+ return s
+}
+
+type ReplaceIamInstanceProfileAssociationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the IAM instance profile association.
+ IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
+ return s.String()
+}
+
+// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
+func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
+ s.IamInstanceProfileAssociation = v
+ return s
+}
+
+// Contains the parameters for ReplaceNetworkAclAssociation.
+type ReplaceNetworkAclAssociationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the current association between the original network ACL and the
+ // subnet.
+ //
+ // AssociationId is a required field
+ AssociationId *string `locationName:"associationId" 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"`
+
+ // The ID of the new network ACL to associate with the subnet.
+ //
+ // NetworkAclId is a required field
+ NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkAclAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkAclAssociationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplaceNetworkAclAssociationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+ if s.NetworkAclId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
+ s.AssociationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
+ s.NetworkAclId = &v
+ return s
+}
+
+// Contains the output of ReplaceNetworkAclAssociation.
+type ReplaceNetworkAclAssociationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new association.
+ NewAssociationId *string `locationName:"newAssociationId" type:"string"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkAclAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkAclAssociationOutput) GoString() string {
+ return s.String()
+}
+
+// SetNewAssociationId sets the NewAssociationId field's value.
+func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
+ s.NewAssociationId = &v
+ return s
+}
+
+// Contains the parameters for ReplaceNetworkAclEntry.
+type ReplaceNetworkAclEntryInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether to replace the egress rule.
+ //
+ // Default: If no value is specified, we replace the ingress rule.
+ //
+ // Egress is a required field
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
+ // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
+ IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
+
+ // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+
+ // The ID of the ACL.
+ //
+ // NetworkAclId is a required field
+ NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to. Required if
+ // specifying TCP (6) or UDP (17) for the protocol.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The IP protocol. You can specify all or -1 to mean all protocols. If you
+ // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
+ // on all ports is allowed, regardless of any ports or ICMP types or codes you
+ // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
+ // traffic for all ICMP types and codes allowed, regardless of any that you
+ // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
+ // you must specify an ICMP type and code.
+ //
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ //
+ // RuleAction is a required field
+ RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
+
+ // The rule number of the entry to replace.
+ //
+ // RuleNumber is a required field
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkAclEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkAclEntryInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplaceNetworkAclEntryInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
+ if s.Egress == nil {
+ invalidParams.Add(request.NewErrParamRequired("Egress"))
+ }
+ if s.NetworkAclId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
+ }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
+ }
+ if s.RuleAction == nil {
+ invalidParams.Add(request.NewErrParamRequired("RuleAction"))
+ }
+ if s.RuleNumber == nil {
+ invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgress sets the Egress field's value.
+func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
+ s.Egress = &v
+ return s
+}
+
+// SetIcmpTypeCode sets the IcmpTypeCode field's value.
+func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
+ s.IcmpTypeCode = v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetNetworkAclId sets the NetworkAclId field's value.
+func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
+ s.NetworkAclId = &v
+ return s
+}
+
+// SetPortRange sets the PortRange field's value.
+func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
+ s.PortRange = v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
+ s.Protocol = &v
+ return s
+}
+
+// SetRuleAction sets the RuleAction field's value.
+func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
+ s.RuleAction = &v
+ return s
+}
+
+// SetRuleNumber sets the RuleNumber field's value.
+func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
+ s.RuleNumber = &v
+ return s
+}
+
+type ReplaceNetworkAclEntryOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkAclEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkAclEntryOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ReplaceRoute.
+type ReplaceRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR address block used for the destination match. The value you
+ // provide must match the CIDR of an existing route in the table.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The IPv6 CIDR address block used for the destination match. The value you
+ // provide must match the CIDR of an existing route in the table.
+ DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // [IPv6 traffic only] The ID of an egress-only Internet gateway.
+ EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
+
+ // The ID of an Internet gateway or virtual private gateway.
+ GatewayId *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // [IPv4 traffic only] The ID of a NAT gateway.
+ NatGatewayId *string `locationName:"natGatewayId" type:"string"`
+
+ // The ID of a network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the route table.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of a VPC peering connection.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplaceRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
+func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
+ s.DestinationIpv6CidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
+func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
+ s.EgressOnlyInternetGatewayId = &v
+ return s
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
+ s.GatewayId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
+ s.InstanceId = &v
+ return s
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
+ s.NatGatewayId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
+ s.RouteTableId = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+type ReplaceRouteOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ReplaceRouteTableAssociation.
+type ReplaceRouteTableAssociationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID.
+ //
+ // AssociationId is a required field
+ AssociationId *string `locationName:"associationId" 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"`
+
+ // The ID of the new route table to associate with the subnet.
+ //
+ // RouteTableId is a required field
+ RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteTableAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteTableAssociationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplaceRouteTableAssociationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
+ if s.AssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("AssociationId"))
+ }
+ if s.RouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
+ s.AssociationId = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
+ s.RouteTableId = &v
+ return s
+}
+
+// Contains the output of ReplaceRouteTableAssociation.
+type ReplaceRouteTableAssociationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the new association.
+ NewAssociationId *string `locationName:"newAssociationId" type:"string"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteTableAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteTableAssociationOutput) GoString() string {
+ return s.String()
+}
+
+// SetNewAssociationId sets the NewAssociationId field's value.
+func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
+ s.NewAssociationId = &v
+ return s
+}
+
+// Contains the parameters for ReportInstanceStatus.
+type ReportInstanceStatusInput struct {
+ _ struct{} `type:"structure"`
+
+ // Descriptive text about the health state of your instance.
+ Description *string `locationName:"description" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The time at which the reported instance health state ended.
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // One or more instances.
+ //
+ // Instances is a required field
+ Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ // One or more reason codes that describe the health state of your instance.
+ //
+ // * instance-stuck-in-state: My instance is stuck in a state.
+ //
+ // * unresponsive: My instance is unresponsive.
+ //
+ // * not-accepting-credentials: My instance is not accepting my credentials.
+ //
+ // * password-not-available: A password is not available for my instance.
+ //
+ // * performance-network: My instance is experiencing performance problems
+ // that I believe are network related.
+ //
+ // * performance-instance-store: My instance is experiencing performance
+ // problems that I believe are related to the instance stores.
+ //
+ // * performance-ebs-volume: My instance is experiencing performance problems
+ // that I believe are related to an EBS volume.
+ //
+ // * performance-other: My instance is experiencing performance problems.
+ //
+ // * other: [explain using the description parameter]
+ //
+ // ReasonCodes is a required field
+ ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
+
+ // The time at which the reported instance health state began.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The status of all instances listed.
+ //
+ // Status is a required field
+ Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
+}
+
+// String returns the string representation
+func (s ReportInstanceStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReportInstanceStatusInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReportInstanceStatusInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
+ if s.Instances == nil {
+ invalidParams.Add(request.NewErrParamRequired("Instances"))
+ }
+ if s.ReasonCodes == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
+ }
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDescription sets the Description field's value.
+func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEndTime sets the EndTime field's value.
+func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
+ s.EndTime = &v
+ return s
+}
+
+// SetInstances sets the Instances field's value.
+func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
+ s.Instances = v
+ return s
+}
+
+// SetReasonCodes sets the ReasonCodes field's value.
+func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
+ s.ReasonCodes = v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
+ s.StartTime = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
+ s.Status = &v
+ return s
+}
+
+type ReportInstanceStatusOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReportInstanceStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReportInstanceStatusOutput) GoString() string {
+ return s.String()
+}
+
+// The information to include in the launch template.
+type RequestLaunchTemplateData struct {
+ _ struct{} `type:"structure"`
+
+ // The block device mapping.
+ //
+ // Supplying both a snapshot ID and an encryption value as arguments for block-device
+ // mapping results in an error. This is because only blank volumes can be encrypted
+ // on start, and these are not created from a snapshot. If a snapshot is the
+ // basis for the volume, it contains data by definition and its encryption status
+ // cannot be changed using this action.
+ BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // The credit option for CPU usage of the instance. Valid for T2 instances only.
+ CreditSpecification *CreditSpecificationRequest `type:"structure"`
+
+ // If set to true, you can't terminate the instance using the Amazon EC2 console,
+ // CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.
+ DisableApiTermination *bool `type:"boolean"`
+
+ // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
+ // available with all instance types. Additional usage charges apply when using
+ // an EBS-optimized instance.
+ EbsOptimized *bool `type:"boolean"`
+
+ // An elastic GPU to associate with the instance.
+ ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
+
+ // The ID of the AMI, which you can get by using DescribeImages.
+ ImageId *string `type:"string"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ //
+ // Default: stop
+ InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
+
+ // 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)
+ // 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ KernelId *string `type:"string"`
+
+ // The name of the key pair. You can create a key pair using CreateKeyPair or
+ // ImportKeyPair.
+ //
+ // If you do not specify a key pair, you can't connect to the instance unless
+ // you choose an AMI that is configured to allow users another way to log in.
+ KeyName *string `type:"string"`
+
+ // The monitoring for the instance.
+ Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
+
+ // The placement for the instance.
+ Placement *LaunchTemplatePlacementRequest `type:"structure"`
+
+ // 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)
+ // 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.
+ // You cannot specify both a security group ID and security name 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 both a security
+ // group ID and security name in the same request.
+ SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
+
+ // 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.
+ 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)
+ // (Windows).
+ UserData *string `type:"string"`
+}
+
+// String returns the string representation
+func (s RequestLaunchTemplateData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestLaunchTemplateData) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RequestLaunchTemplateData) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
+ if s.CreditSpecification != nil {
+ if err := s.CreditSpecification.Validate(); err != nil {
+ invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.ElasticGpuSpecifications != nil {
+ for i, v := range s.ElasticGpuSpecifications {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.NetworkInterfaces != nil {
+ for i, v := range s.NetworkInterfaces {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetCreditSpecification sets the CreditSpecification field's value.
+func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
+ s.CreditSpecification = v
+ return s
+}
+
+// SetDisableApiTermination sets the DisableApiTermination field's value.
+func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
+ s.DisableApiTermination = &v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
+func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
+ s.ElasticGpuSpecifications = v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
+ s.InstanceInitiatedShutdownBehavior = &v
+ return s
+}
+
+// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
+func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
+ s.InstanceMarketOptions = v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
+ s.Placement = v
+ return s
+}
+
+// SetRamDiskId sets the RamDiskId field's value.
+func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
+ s.RamDiskId = &v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
+ s.UserData = &v
+ return s
+}
+
+// Contains the parameters for RequestSpotFleet.
+type RequestSpotFleetInput 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"`
+
+ // The configuration for the Spot Fleet request.
+ //
+ // SpotFleetRequestConfig is a required field
+ SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s RequestSpotFleetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotFleetInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RequestSpotFleetInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
+ if s.SpotFleetRequestConfig == nil {
+ invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
+ }
+ if s.SpotFleetRequestConfig != nil {
+ if err := s.SpotFleetRequestConfig.Validate(); err != nil {
+ invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
+func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
+ s.SpotFleetRequestConfig = v
+ return s
+}
+
+// Contains the output of RequestSpotFleet.
+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"`
+}
+
+// String returns the string representation
+func (s RequestSpotFleetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotFleetOutput) GoString() string {
+ return s.String()
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// Contains the parameters for RequestSpotInstances.
+type RequestSpotInstancesInput struct {
+ _ struct{} `type:"structure"`
+
+ // The user-specified name for a logical grouping of requests.
+ //
+ // When you specify an Availability Zone group in a Spot Instance request, all
+ // Spot Instances in the request are launched in the same Availability Zone.
+ // Instance proximity is maintained with this parameter, but the choice of Availability
+ // Zone is not. The group applies only to requests for Spot Instances of the
+ // same instance type. Any additional Spot Instance requests that are specified
+ // with the same Availability Zone group name are launched in that same Availability
+ // Zone, as long as at least one instance from the group is still active.
+ //
+ // If there is no active instance running in the Availability Zone group that
+ // you specify for a new Spot Instance request (all instances are terminated,
+ // the request is expired, or the maximum price you specified falls below current
+ // Spot price), then Amazon EC2 launches the instance in any Availability Zone
+ // where the constraint can be met. Consequently, the subsequent set of Spot
+ // Instances could be placed in a different zone from the original request,
+ // even if you specified the same Availability Zone group.
+ //
+ // Default: Instances are launched in any available Availability Zone.
+ AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
+
+ // The required duration for the Spot Instances (also known as Spot blocks),
+ // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
+ // or 360).
+ //
+ // The duration period starts as soon as your Spot Instance receives its instance
+ // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
+ // for termination and provides a Spot Instance termination notice, which gives
+ // the instance a two-minute warning before it terminates.
+ //
+ // You can't specify an Availability Zone group or a launch group if you specify
+ // a duration.
+ 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)
+ // in the Amazon EC2 User Guide for Linux Instances.
+ ClientToken *string `locationName:"clientToken" 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 `locationName:"dryRun" type:"boolean"`
+
+ // The maximum number of Spot Instances to launch.
+ //
+ // Default: 1
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The instance launch group. Launch groups are Spot Instances that launch together
+ // and terminate together.
+ //
+ // Default: Instances are launched and terminated individually
+ LaunchGroup *string `locationName:"launchGroup" type:"string"`
+
+ // The launch specification.
+ LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
+
+ // The maximum price per hour that you are willing to pay for a Spot Instance.
+ // The default is the On-Demand price.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The Spot Instance request type.
+ //
+ // Default: one-time
+ Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
+
+ // The start date of the request. If this is a one-time request, the request
+ // becomes active at this date and time and remains active until all instances
+ // launch, the request expires, or the request is canceled. If the request is
+ // persistent, the request becomes active at this date and time and remains
+ // active until it expires or is canceled.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date of the request. If this is a one-time request, the request remains
+ // active until all instances launch, the request is canceled, or this date
+ // is reached. If the request is persistent, it remains active until it is canceled
+ // or this date is reached. The default end date is 7 days from the current
+ // date.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s RequestSpotInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RequestSpotInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
+ if s.LaunchSpecification != nil {
+ if err := s.LaunchSpecification.Validate(); err != nil {
+ invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
+func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
+ s.AvailabilityZoneGroup = &v
+ return s
+}
+
+// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
+func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
+ s.BlockDurationMinutes = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetLaunchGroup sets the LaunchGroup field's value.
+func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
+ s.LaunchGroup = &v
+ return s
+}
+
+// SetLaunchSpecification sets the LaunchSpecification field's value.
+func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
+ s.LaunchSpecification = v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
+ s.Type = &v
+ return s
+}
+
+// SetValidFrom sets the ValidFrom field's value.
+func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
+ s.ValidFrom = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
+ s.ValidUntil = &v
+ return s
+}
+
+// Contains the output of RequestSpotInstances.
+type RequestSpotInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more Spot Instance requests.
+ SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s RequestSpotInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
+func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
+ s.SpotInstanceRequests = v
+ return s
+}
+
+// Describes the launch specification for an instance.
+type RequestSpotLaunchSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries. You can't specify both a snapshot
+ // ID and an encryption value. This is because only blank volumes can be encrypted
+ // on creation. If a snapshot is the basis for a volume, it is not blank and
+ // its encryption status is used for the volume encryption status.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Indicates whether basic or detailed monitoring is enabled for the instance.
+ //
+ // Default: Disabled
+ Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces. If you specify a network interface, you must
+ // specify subnet IDs and security group IDs using the network interface.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
+
+ // The placement information for the instance.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // One or more security group IDs.
+ SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+
+ // One or more security groups. When requesting instances in a VPC, you must
+ // specify the IDs of the security groups. When requesting instances in EC2-Classic,
+ // you can specify the names or the IDs of the security groups.
+ SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
+
+ // The ID of the subnet in which to launch the instance.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded user data for the instance.
+ UserData *string `locationName:"userData" type:"string"`
+}
+
+// String returns the string representation
+func (s RequestSpotLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RequestSpotLaunchSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
+ if s.Monitoring != nil {
+ if err := s.Monitoring.Validate(); err != nil {
+ invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.NetworkInterfaces != nil {
+ for i, v := range s.NetworkInterfaces {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAddressingType sets the AddressingType field's value.
+func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
+ s.AddressingType = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
+ s.Placement = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
+ s.UserData = &v
+ return s
+}
+
+// Describes a reservation.
+type Reservation struct {
+ _ struct{} `type:"structure"`
+
+ // [EC2-Classic only] One or more security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // One or more instances.
+ Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ // The ID of the AWS account that owns the reservation.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The ID of the requester that launched the instances on your behalf (for example,
+ // AWS Management Console or Auto Scaling).
+ RequesterId *string `locationName:"requesterId" type:"string"`
+
+ // The ID of the reservation.
+ ReservationId *string `locationName:"reservationId" type:"string"`
+}
+
+// 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()
+}
+
+// SetGroups sets the Groups field's value.
+func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
+ s.Groups = v
+ return s
+}
+
+// SetInstances sets the Instances field's value.
+func (s *Reservation) SetInstances(v []*Instance) *Reservation {
+ s.Instances = v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *Reservation) SetOwnerId(v string) *Reservation {
+ s.OwnerId = &v
+ return s
+}
+
+// SetRequesterId sets the RequesterId field's value.
+func (s *Reservation) SetRequesterId(v string) *Reservation {
+ s.RequesterId = &v
+ return s
+}
+
+// SetReservationId sets the ReservationId field's value.
+func (s *Reservation) SetReservationId(v string) *Reservation {
+ s.ReservationId = &v
+ return s
+}
+
+// The cost associated with the Reserved Instance.
+type ReservationValue struct {
+ _ struct{} `type:"structure"`
+
+ // The hourly rate of the reservation.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
+ // * number of hours remaining).
+ RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
+
+ // The remaining upfront cost of the reservation.
+ RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
+}
+
+// String returns the string representation
+func (s ReservationValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservationValue) GoString() string {
+ return s.String()
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetRemainingTotalValue sets the RemainingTotalValue field's value.
+func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
+ s.RemainingTotalValue = &v
+ return s
+}
+
+// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
+func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
+ s.RemainingUpfrontValue = &v
+ return s
+}
+
+// Describes the limit price of a Reserved Instance offering.
+type ReservedInstanceLimitPrice struct {
+ _ struct{} `type:"structure"`
+
+ // Used for Reserved Instance Marketplace offerings. Specifies the limit price
+ // on the total order (instanceCount * price).
+ Amount *float64 `locationName:"amount" type:"double"`
+
+ // The currency in which the limitPrice amount is specified. At this time, the
+ // only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+}
+
+// String returns the string representation
+func (s ReservedInstanceLimitPrice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstanceLimitPrice) GoString() string {
+ return s.String()
+}
+
+// SetAmount sets the Amount field's value.
+func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
+ s.Amount = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
+ s.CurrencyCode = &v
+ return s
+}
+
+// The total value of the Convertible Reserved Instance.
+type ReservedInstanceReservationValue struct {
+ _ struct{} `type:"structure"`
+
+ // The total value of the Convertible Reserved Instance that you are exchanging.
+ ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
+
+ // The ID of the Convertible Reserved Instance that you are exchanging.
+ ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s ReservedInstanceReservationValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstanceReservationValue) GoString() string {
+ return s.String()
+}
+
+// SetReservationValue sets the ReservationValue field's value.
+func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
+ s.ReservationValue = v
+ return s
+}
+
+// SetReservedInstanceId sets the ReservedInstanceId field's value.
+func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
+ s.ReservedInstanceId = &v
+ return s
+}
+
+// Describes a Reserved Instance.
+type ReservedInstances struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The currency of the Reserved Instance. It's specified using ISO 4217 standard
+ // currency codes. At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the Reserved Instance, in seconds.
+ Duration *int64 `locationName:"duration" type:"long"`
+
+ // The time when the Reserved Instance expires.
+ End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The purchase price of the Reserved Instance.
+ FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
+
+ // The number of reservations purchased.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The tenancy of the instance.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The instance type on which the Reserved Instance can be used.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The offering class of the Reserved Instance.
+ OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
+
+ // The Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The Reserved Instance product platform description.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The recurring charge tag assigned to the resource.
+ RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The scope of the Reserved Instance.
+ Scope *string `locationName:"scope" type:"string" enum:"scope"`
+
+ // The date and time the Reserved Instance started.
+ Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The state of the Reserved Instance purchase.
+ State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The usage price of the Reserved Instance, per hour.
+ UsagePrice *float64 `locationName:"usagePrice" type:"float"`
+}
+
+// String returns the string representation
+func (s ReservedInstances) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstances) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetDuration sets the Duration field's value.
+func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
+ s.Duration = &v
+ return s
+}
+
+// SetEnd sets the End field's value.
+func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
+ s.End = &v
+ return s
+}
+
+// SetFixedPrice sets the FixedPrice field's value.
+func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
+ s.FixedPrice = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
+ s.InstanceType = &v
+ return s
+}
+
+// SetOfferingClass sets the OfferingClass field's value.
+func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
+ s.OfferingClass = &v
+ return s
+}
+
+// SetOfferingType sets the OfferingType field's value.
+func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
+ s.OfferingType = &v
+ return s
+}
+
+// SetProductDescription sets the ProductDescription field's value.
+func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
+ s.ProductDescription = &v
+ return s
+}
+
+// SetRecurringCharges sets the RecurringCharges field's value.
+func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
+ s.RecurringCharges = v
+ return s
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// SetScope sets the Scope field's value.
+func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
+ s.Scope = &v
+ return s
+}
+
+// SetStart sets the Start field's value.
+func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
+ s.Start = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *ReservedInstances) SetState(v string) *ReservedInstances {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
+ s.Tags = v
+ return s
+}
+
+// SetUsagePrice sets the UsagePrice field's value.
+func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
+ s.UsagePrice = &v
+ return s
+}
+
+// Describes the configuration settings for the modified Reserved Instances.
+type ReservedInstancesConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone for the modified Reserved Instances.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of modified Reserved Instances.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The instance type for the modified Reserved Instances.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The network platform of the modified Reserved Instances, which is either
+ // EC2-Classic or EC2-VPC.
+ Platform *string `locationName:"platform" type:"string"`
+
+ // Whether the Reserved Instance is applied to instances in a region or instances
+ // in a specific Availability Zone.
+ Scope *string `locationName:"scope" type:"string" enum:"scope"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
+ s.InstanceType = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
+ s.Platform = &v
+ return s
+}
+
+// SetScope sets the Scope field's value.
+func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
+ s.Scope = &v
+ return s
+}
+
+// Describes the ID of a Reserved Instance.
+type ReservedInstancesId struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the Reserved Instance.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesId) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesId) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// Describes a Reserved Instance listing.
+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).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The time the listing was created.
+ CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The number of instances in this state.
+ InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
+
+ // The price of the Reserved Instance listing.
+ PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The ID of the Reserved Instance listing.
+ ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
+
+ // The status of the Reserved Instance listing.
+ Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
+
+ // The reason for the current status of the Reserved Instance listing. The response
+ // can be blank.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The last modified timestamp of the listing.
+ UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesListing) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesListing) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCreateDate sets the CreateDate field's value.
+func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
+ s.CreateDate = &v
+ return s
+}
+
+// SetInstanceCounts sets the InstanceCounts field's value.
+func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
+ s.InstanceCounts = v
+ return s
+}
+
+// SetPriceSchedules sets the PriceSchedules field's value.
+func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
+ s.PriceSchedules = v
+ return s
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
+func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
+ s.ReservedInstancesListingId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
+ s.Tags = v
+ return s
+}
+
+// SetUpdateDate sets the UpdateDate field's value.
+func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
+ s.UpdateDate = &v
+ return s
+}
+
+// Describes a Reserved Instance modification.
+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).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The time when the modification request was created.
+ CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The time for the modification to become effective.
+ EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Contains target configurations along with their corresponding new Reserved
+ // Instance IDs.
+ ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
+
+ // The IDs of one or more Reserved Instances.
+ ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
+
+ // A unique ID for the Reserved Instance modification.
+ ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
+
+ // The status of the Reserved Instances modification request.
+ Status *string `locationName:"status" type:"string"`
+
+ // The reason for the status.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The time when the modification request was last updated.
+ UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesModification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesModification) GoString() string {
+ return s.String()
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCreateDate sets the CreateDate field's value.
+func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
+ s.CreateDate = &v
+ return s
+}
+
+// SetEffectiveDate sets the EffectiveDate field's value.
+func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
+ s.EffectiveDate = &v
+ return s
+}
+
+// SetModificationResults sets the ModificationResults field's value.
+func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
+ s.ModificationResults = v
+ return s
+}
+
+// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
+func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
+ s.ReservedInstancesIds = v
+ return s
+}
+
+// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
+func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
+ s.ReservedInstancesModificationId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetUpdateDate sets the UpdateDate field's value.
+func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
+ s.UpdateDate = &v
+ return s
+}
+
+// Describes the modification request/s.
+type ReservedInstancesModificationResult struct {
+ _ struct{} `type:"structure"`
+
+ // The ID for the Reserved Instances that were created as part of the modification
+ // request. This field is only available when the modification is fulfilled.
+ ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The target Reserved Instances configurations supplied as part of the modification
+ // request.
+ TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesModificationResult) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesModificationResult) GoString() string {
+ return s.String()
+}
+
+// SetReservedInstancesId sets the ReservedInstancesId field's value.
+func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
+ s.ReservedInstancesId = &v
+ return s
+}
+
+// SetTargetConfiguration sets the TargetConfiguration field's value.
+func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
+ s.TargetConfiguration = v
+ return s
+}
+
+// Describes a Reserved Instance offering.
+type ReservedInstancesOffering struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The currency of the Reserved Instance offering you are purchasing. It's specified
+ // using ISO 4217 standard currency codes. At this time, the only supported
+ // currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the Reserved Instance, in seconds.
+ Duration *int64 `locationName:"duration" type:"long"`
+
+ // The purchase price of the Reserved Instance.
+ FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
+
+ // The tenancy of the instance.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The instance type on which the Reserved Instance can be used.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // Indicates whether the offering is available through the Reserved Instance
+ // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
+ // this is true.
+ Marketplace *bool `locationName:"marketplace" type:"boolean"`
+
+ // If convertible it can be exchanged for Reserved Instances of the same or
+ // higher monetary value, with different configurations. If standard, it is
+ // not possible to perform an exchange.
+ OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
+
+ // The Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The pricing details of the Reserved Instance offering.
+ PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
+
+ // The Reserved Instance product platform description.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The recurring charge tag assigned to the resource.
+ RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance offering. This is the offering ID used in
+ // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
+ ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
+
+ // Whether the Reserved Instance is applied to instances in a region or an Availability
+ // Zone.
+ Scope *string `locationName:"scope" type:"string" enum:"scope"`
+
+ // The usage price of the Reserved Instance, per hour.
+ UsagePrice *float64 `locationName:"usagePrice" type:"float"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesOffering) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesOffering) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetCurrencyCode sets the CurrencyCode field's value.
+func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
+ s.CurrencyCode = &v
+ return s
+}
+
+// SetDuration sets the Duration field's value.
+func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
+ s.Duration = &v
+ return s
+}
+
+// SetFixedPrice sets the FixedPrice field's value.
+func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
+ s.FixedPrice = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMarketplace sets the Marketplace field's value.
+func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
+ s.Marketplace = &v
+ return s
+}
+
+// SetOfferingClass sets the OfferingClass field's value.
+func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
+ s.OfferingClass = &v
+ return s
+}
+
+// SetOfferingType sets the OfferingType field's value.
+func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
+ s.OfferingType = &v
+ return s
+}
+
+// SetPricingDetails sets the PricingDetails field's value.
+func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
+ s.PricingDetails = v
+ return s
+}
+
+// SetProductDescription sets the ProductDescription field's value.
+func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
+ s.ProductDescription = &v
+ return s
+}
+
+// SetRecurringCharges sets the RecurringCharges field's value.
+func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
+ s.RecurringCharges = v
+ return s
+}
+
+// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
+func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
+ s.ReservedInstancesOfferingId = &v
+ return s
+}
+
+// SetScope sets the Scope field's value.
+func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
+ s.Scope = &v
+ return s
+}
+
+// SetUsagePrice sets the UsagePrice field's value.
+func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
+ s.UsagePrice = &v
+ return s
+}
+
+type ResetFpgaImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute.
+ Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
+
+ // 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 AFI.
+ //
+ // FpgaImageId is a required field
+ FpgaImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ResetFpgaImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetFpgaImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ResetFpgaImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
+ if s.FpgaImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
+ s.FpgaImageId = &v
+ return s
+}
+
+type ResetFpgaImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Is true if the request succeeds, and an error otherwise.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ResetFpgaImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetFpgaImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for ResetImageAttribute.
+type ResetImageAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute to reset (currently you can only reset the launch permission
+ // attribute).
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
+
+ // 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"`
+
+ // The ID of the AMI.
+ //
+ // ImageId is a required field
+ ImageId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ResetImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ResetImageAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.ImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
+ s.ImageId = &v
+ return s
+}
+
+type ResetImageAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ResetInstanceAttribute.
+type ResetInstanceAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute to reset.
+ //
+ // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
+ // To change an instance attribute, use ModifyInstanceAttribute.
+ //
+ // Attribute is a required field
+ Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
+
+ // 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"`
+
+ // The ID of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ResetInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ResetInstanceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
+ s.InstanceId = &v
+ return s
+}
+
+type ResetInstanceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ResetNetworkInterfaceAttribute.
+type ResetNetworkInterfaceAttributeInput 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"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // The source/destination checking attribute. Resets the value to true.
+ SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
+}
+
+// String returns the string representation
+func (s ResetNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetSourceDestCheck sets the SourceDestCheck field's value.
+func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
+ s.SourceDestCheck = &v
+ return s
+}
+
+type ResetNetworkInterfaceAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for ResetSnapshotAttribute.
+type ResetSnapshotAttributeInput struct {
+ _ struct{} `type:"structure"`
+
+ // The attribute to reset. Currently, only the attribute for permission to create
+ // volumes can be reset.
+ //
+ // Attribute is a required field
+ Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
+
+ // 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"`
+
+ // The ID of the snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ResetSnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetSnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ResetSnapshotAttributeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
+ if s.Attribute == nil {
+ invalidParams.Add(request.NewErrParamRequired("Attribute"))
+ }
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAttribute sets the Attribute field's value.
+func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
+ s.Attribute = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
+ s.SnapshotId = &v
+ return s
+}
+
+type ResetSnapshotAttributeOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetSnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetSnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+// Describes the error that's returned when you cannot delete a launch template
+// version.
+type ResponseError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
+
+ // The error message, if applicable.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s ResponseError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResponseError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *ResponseError) SetCode(v string) *ResponseError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *ResponseError) SetMessage(v string) *ResponseError {
+ s.Message = &v
+ return s
+}
+
+// The information for a launch template.
+type ResponseLaunchTemplateData struct {
+ _ struct{} `type:"structure"`
+
+ // The block device mappings.
+ BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
+
+ // The credit option for CPU usage of the instance.
+ CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
+
+ // If set to true, indicates that the instance cannot be terminated using the
+ // Amazon EC2 console, command line tool, or API.
+ DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
+
+ // Indicates whether the instance is optimized for Amazon EBS I/O.
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The elastic GPU specification.
+ ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI that was used to launch the instance.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
+
+ // The market (purchasing) option for the instances.
+ InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel, if applicable.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // The monitoring for the instance.
+ Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
+
+ // The network interfaces.
+ NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The placement of the instance.
+ Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk, if applicable.
+ RamDiskId *string `locationName:"ramDiskId" type:"string"`
+
+ // The security group IDs.
+ SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
+
+ // The security group names.
+ SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
+
+ // The tags.
+ TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
+
+ // The user data for the instance.
+ UserData *string `locationName:"userData" type:"string"`
+}
+
+// String returns the string representation
+func (s ResponseLaunchTemplateData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResponseLaunchTemplateData) GoString() string {
+ return s.String()
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetCreditSpecification sets the CreditSpecification field's value.
+func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
+ s.CreditSpecification = v
+ return s
+}
+
+// SetDisableApiTermination sets the DisableApiTermination field's value.
+func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
+ s.DisableApiTermination = &v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
+func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
+ s.ElasticGpuSpecifications = v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
+ s.InstanceInitiatedShutdownBehavior = &v
+ return s
+}
+
+// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
+func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
+ s.InstanceMarketOptions = v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
+ s.Placement = v
+ return s
+}
+
+// SetRamDiskId sets the RamDiskId field's value.
+func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
+ s.RamDiskId = &v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
+ s.UserData = &v
+ return s
+}
+
+// Contains the parameters for RestoreAddressToClassic.
+type RestoreAddressToClassicInput 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"`
+
+ // The Elastic IP address.
+ //
+ // PublicIp is a required field
+ PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RestoreAddressToClassicInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreAddressToClassicInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RestoreAddressToClassicInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
+ if s.PublicIp == nil {
+ invalidParams.Add(request.NewErrParamRequired("PublicIp"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
+ s.PublicIp = &v
+ return s
+}
+
+// Contains the output of RestoreAddressToClassic.
+type RestoreAddressToClassicOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Elastic IP address.
+ PublicIp *string `locationName:"publicIp" type:"string"`
+
+ // The move status for the IP address.
+ Status *string `locationName:"status" type:"string" enum:"Status"`
+}
+
+// String returns the string representation
+func (s RestoreAddressToClassicOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreAddressToClassicOutput) GoString() string {
+ return s.String()
+}
+
+// SetPublicIp sets the PublicIp field's value.
+func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
+ s.PublicIp = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
+ s.Status = &v
+ return s
+}
+
+// Contains the parameters for RevokeSecurityGroupEgress.
+type RevokeSecurityGroupEgressInput struct {
+ _ struct{} `type:"structure"`
+
+ // Not supported. Use a set of IP permissions to specify the CIDR.
+ CidrIp *string `locationName:"cidrIp" 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 `locationName:"dryRun" type:"boolean"`
+
+ // Not supported. Use a set of IP permissions to specify the port.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The ID of the security group.
+ //
+ // GroupId is a required field
+ GroupId *string `locationName:"groupId" type:"string" required:"true"`
+
+ // One or more sets of IP permissions. You can't specify a destination security
+ // group and a CIDR IP address range in the same set of permissions.
+ IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // Not supported. Use a set of IP permissions to specify the protocol name or
+ // number.
+ IpProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify a destination security
+ // group.
+ SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify a destination security
+ // group.
+ SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
+
+ // Not supported. Use a set of IP permissions to specify the port.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupEgressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupEgressInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RevokeSecurityGroupEgressInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
+ if s.GroupId == nil {
+ invalidParams.Add(request.NewErrParamRequired("GroupId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCidrIp sets the CidrIp field's value.
+func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
+ s.CidrIp = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
+ s.FromPort = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
+func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
+ s.SourceSecurityGroupName = &v
+ return s
+}
+
+// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
+func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
+ s.SourceSecurityGroupOwnerId = &v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
+ s.ToPort = &v
+ return s
+}
+
+type RevokeSecurityGroupEgressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupEgressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupEgressOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for RevokeSecurityGroupIngress.
+type RevokeSecurityGroupIngressInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR IP address range. You can't specify this parameter when specifying
+ // a source security group.
+ CidrIp *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 `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // For the ICMP type number, use -1 to specify all ICMP types.
+ FromPort *int64 `type:"integer"`
+
+ // The ID of the security group. You must specify either the security group
+ // ID or the security group name in the request. For security groups in a nondefault
+ // VPC, you must specify the security group ID.
+ GroupId *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group. You must specify
+ // either the security group ID or the security group name in the request.
+ GroupName *string `type:"string"`
+
+ // One or more sets of IP permissions. You can't specify a source security group
+ // and a CIDR IP address range in the same set of permissions.
+ IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // Use -1 to specify all.
+ IpProtocol *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the source security group. You can't
+ // specify this parameter in combination with the following parameters: the
+ // CIDR IP address range, the start of the port range, the IP protocol, and
+ // the end of the port range. For EC2-VPC, the source security group must be
+ // in the same VPC. To revoke a specific rule for an IP protocol and port range,
+ // use a set of IP permissions instead.
+ SourceSecurityGroupName *string `type:"string"`
+
+ // [EC2-Classic] The AWS account ID of 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.
+ // To revoke a specific rule for an IP protocol and port range, use a set of
+ // IP permissions instead.
+ SourceSecurityGroupOwnerId *string `type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code number.
+ // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
+ ToPort *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupIngressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupIngressInput) GoString() string {
+ return s.String()
+}
+
+// SetCidrIp sets the CidrIp field's value.
+func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
+ s.CidrIp = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
+ s.FromPort = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
+func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
+ s.SourceSecurityGroupName = &v
+ return s
+}
+
+// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
+func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
+ s.SourceSecurityGroupOwnerId = &v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
+ s.ToPort = &v
+ return s
+}
+
+type RevokeSecurityGroupIngressOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupIngressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupIngressOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a route in a route table.
+type Route struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR block used for the destination match.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The IPv6 CIDR block used for the destination match.
+ DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
+
+ // The prefix of the AWS service.
+ DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
+
+ // The ID of the egress-only Internet gateway.
+ EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
+
+ // The ID of a gateway attached to your VPC.
+ GatewayId *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The AWS account ID of the owner of the instance.
+ InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
+
+ // The ID of a NAT gateway.
+ NatGatewayId *string `locationName:"natGatewayId" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // Describes how the route was created.
+ //
+ // * CreateRouteTable - The route was automatically created when the route
+ // table was created.
+ //
+ // * CreateRoute - The route was manually added to the route table.
+ //
+ // * EnableVgwRoutePropagation - The route was propagated by route propagation.
+ Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
+
+ // The state of the route. The blackhole state indicates that the route's target
+ // isn't available (for example, the specified gateway isn't attached to the
+ // VPC, or the specified NAT instance has been terminated).
+ State *string `locationName:"state" type:"string" enum:"RouteState"`
+
+ // The ID of the VPC peering connection.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" 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()
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *Route) SetDestinationCidrBlock(v string) *Route {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
+func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
+ s.DestinationIpv6CidrBlock = &v
+ return s
+}
+
+// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
+func (s *Route) SetDestinationPrefixListId(v string) *Route {
+ s.DestinationPrefixListId = &v
+ return s
+}
+
+// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
+func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
+ s.EgressOnlyInternetGatewayId = &v
+ return s
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *Route) SetGatewayId(v string) *Route {
+ s.GatewayId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *Route) SetInstanceId(v string) *Route {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceOwnerId sets the InstanceOwnerId field's value.
+func (s *Route) SetInstanceOwnerId(v string) *Route {
+ s.InstanceOwnerId = &v
+ return s
+}
+
+// SetNatGatewayId sets the NatGatewayId field's value.
+func (s *Route) SetNatGatewayId(v string) *Route {
+ s.NatGatewayId = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *Route) SetNetworkInterfaceId(v string) *Route {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetOrigin sets the Origin field's value.
+func (s *Route) SetOrigin(v string) *Route {
+ s.Origin = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Route) SetState(v string) *Route {
+ s.State = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Describes a route table.
+type RouteTable struct {
+ _ struct{} `type:"structure"`
+
+ // The associations between the route table and one or more subnets.
+ Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
+
+ // Any virtual private gateway (VGW) propagating routes.
+ PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
+
+ // The ID of the route table.
+ RouteTableId *string `locationName:"routeTableId" type:"string"`
+
+ // The routes in the route table.
+ Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
+
+ // Any tags assigned to the route table.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s RouteTable) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteTable) GoString() string {
+ return s.String()
+}
+
+// SetAssociations sets the Associations field's value.
+func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
+ s.Associations = v
+ return s
+}
+
+// SetPropagatingVgws sets the PropagatingVgws field's value.
+func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
+ s.PropagatingVgws = v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
+ s.RouteTableId = &v
+ return s
+}
+
+// SetRoutes sets the Routes field's value.
+func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
+ s.Routes = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *RouteTable) SetVpcId(v string) *RouteTable {
+ s.VpcId = &v
+ return s
+}
+
+// Describes an association between a route table and a subnet.
+type RouteTableAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether this is the main route table.
+ Main *bool `locationName:"main" type:"boolean"`
+
+ // The ID of the association between a route table and a subnet.
+ RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
+
+ // The ID of the route table.
+ RouteTableId *string `locationName:"routeTableId" type:"string"`
+
+ // The ID of the subnet. A subnet ID is not returned for an implicit association.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s RouteTableAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteTableAssociation) GoString() string {
+ return s.String()
+}
+
+// SetMain sets the Main field's value.
+func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
+ s.Main = &v
+ return s
+}
+
+// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
+func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
+ s.RouteTableAssociationId = &v
+ return s
+}
+
+// SetRouteTableId sets the RouteTableId field's value.
+func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
+ s.RouteTableId = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
+ s.SubnetId = &v
+ return s
+}
+
+// Contains the parameters for RunInstances.
+type RunInstancesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
+
+ // One or more block device mapping entries. You can't specify both a snapshot
+ // ID and an encryption value. This is because only blank volumes can be encrypted
+ // on creation. If a snapshot is the basis for a volume, it is not blank and
+ // its encryption status is used for the volume encryption status.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // 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).
+ //
+ // 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)
+ // 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 T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Default: standard
+ CreditSpecification *CreditSpecificationRequest `type:"structure"`
+
+ // If you set this parameter to true, you can't terminate the instance using
+ // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
+ // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
+ // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
+ // instance by running the shutdown command from the instance.
+ //
+ // Default: false
+ DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
+
+ // 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"`
+
+ // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
+ // available with all instance types. Additional usage charges apply when using
+ // an EBS-optimized instance.
+ //
+ // Default: false
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // An elastic GPU to associate with the instance.
+ ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI, which you can get by calling DescribeImages. An AMI is
+ // required to launch an instance and must be specified here or in a launch
+ // template.
+ ImageId *string `type:"string"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ //
+ // Default: stop
+ InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
+
+ // The market (purchasing) option for the instances.
+ InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
+
+ // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Default: m1.small
+ InstanceType *string `type:"string" enum:"InstanceType"`
+
+ // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
+ // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
+ // You cannot specify this option and the option to assign specific IPv6 addresses
+ // in the same request. You can specify this option if you've specified a minimum
+ // number of instances to launch.
+ Ipv6AddressCount *int64 `type:"integer"`
+
+ // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
+ // to associate with the primary network interface. You cannot specify this
+ // option and the option to assign a number of IPv6 addresses in the same request.
+ // You cannot specify this option if you've specified a minimum number of instances
+ // to launch.
+ Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
+
+ // The ID of the kernel.
+ //
+ // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
+ // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ KernelId *string `type:"string"`
+
+ // The name of the key pair. You can create a key pair using CreateKeyPair or
+ // ImportKeyPair.
+ //
+ // If you do not specify a key pair, you can't connect to the instance unless
+ // you choose an AMI that is configured to allow users another way to log in.
+ KeyName *string `type:"string"`
+
+ // The launch template to use to launch the instances. Any parameters that you
+ // specify in RunInstances override the same parameters in the launch template.
+ // You can specify either the name or ID of a launch template, but not both.
+ LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
+
+ // The maximum number of instances to launch. If you specify more instances
+ // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
+ // the largest possible number of instances above MinCount.
+ //
+ // Constraints: Between 1 and the maximum number you're allowed for the specified
+ // instance type. For more information about the default limits, and how to
+ // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
+ // in the Amazon EC2 FAQ.
+ //
+ // MaxCount is a required field
+ MaxCount *int64 `type:"integer" required:"true"`
+
+ // The minimum number of instances to launch. If you specify a minimum that
+ // is more instances than Amazon EC2 can launch in the target Availability Zone,
+ // Amazon EC2 launches no instances.
+ //
+ // Constraints: Between 1 and the maximum number you're allowed for the specified
+ // instance type. For more information about the default limits, and how to
+ // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
+ // in the Amazon EC2 General FAQ.
+ //
+ // MinCount is a required field
+ MinCount *int64 `type:"integer" required:"true"`
+
+ // The monitoring for the instance.
+ Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
+
+ // The placement for the instance.
+ Placement *Placement `type:"structure"`
+
+ // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
+ // address range of the subnet.
+ //
+ // Only one private IP address can be designated as primary. You can't specify
+ // this option if you've specified the option to designate a private IP address
+ // as the primary IP address in a network interface specification. You cannot
+ // specify this option if you're launching more than one instance in the request.
+ PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The ID of the RAM disk.
+ //
+ // 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)
+ // 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.
+ 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.
+ //
+ // 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.
+ SubnetId *string `type:"string"`
+
+ // 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.
+ 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)
+ // (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.
+ UserData *string `type:"string"`
+}
+
+// String returns the string representation
+func (s RunInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RunInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
+ if s.MaxCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("MaxCount"))
+ }
+ if s.MinCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("MinCount"))
+ }
+ if s.CreditSpecification != nil {
+ if err := s.CreditSpecification.Validate(); err != nil {
+ invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.ElasticGpuSpecification != nil {
+ for i, v := range s.ElasticGpuSpecification {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.Monitoring != nil {
+ if err := s.Monitoring.Validate(); err != nil {
+ invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.NetworkInterfaces != nil {
+ for i, v := range s.NetworkInterfaces {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAdditionalInfo sets the AdditionalInfo field's value.
+func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
+ s.AdditionalInfo = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetCpuOptions sets the CpuOptions field's value.
+func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
+ s.CpuOptions = v
+ return s
+}
+
+// SetCreditSpecification sets the CreditSpecification field's value.
+func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
+ s.CreditSpecification = v
+ return s
+}
+
+// SetDisableApiTermination sets the DisableApiTermination field's value.
+func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
+ s.DisableApiTermination = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
+func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
+ s.ElasticGpuSpecification = v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
+func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
+ s.InstanceInitiatedShutdownBehavior = &v
+ return s
+}
+
+// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
+func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
+ s.InstanceMarketOptions = v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
+ s.InstanceType = &v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
+ s.KeyName = &v
+ return s
+}
+
+// SetLaunchTemplate sets the LaunchTemplate field's value.
+func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
+ s.LaunchTemplate = v
+ return s
+}
+
+// SetMaxCount sets the MaxCount field's value.
+func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
+ s.MaxCount = &v
+ return s
+}
+
+// SetMinCount sets the MinCount field's value.
+func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
+ s.MinCount = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
+ s.Placement = v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
+ s.UserData = &v
+ return s
+}
+
+// Describes the monitoring of an instance.
+type RunInstancesMonitoringEnabled struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
+ // is enabled.
+ //
+ // Enabled is a required field
+ Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
+}
+
+// String returns the string representation
+func (s RunInstancesMonitoringEnabled) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunInstancesMonitoringEnabled) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RunInstancesMonitoringEnabled) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
+ if s.Enabled == nil {
+ invalidParams.Add(request.NewErrParamRequired("Enabled"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
+ s.Enabled = &v
+ return s
+}
+
+// Contains the parameters for RunScheduledInstances.
+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).
+ ClientToken *string `type:"string" idempotencyToken:"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 number of instances.
+ //
+ // Default: 1
+ InstanceCount *int64 `type:"integer"`
+
+ // The launch specification. You must match the instance type, Availability
+ // Zone, network, and platform of the schedule that you purchased.
+ //
+ // LaunchSpecification is a required field
+ LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
+
+ // The Scheduled Instance ID.
+ //
+ // ScheduledInstanceId is a required field
+ ScheduledInstanceId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RunScheduledInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunScheduledInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RunScheduledInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
+ if s.LaunchSpecification == nil {
+ invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
+ }
+ if s.ScheduledInstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
+ }
+ if s.LaunchSpecification != nil {
+ if err := s.LaunchSpecification.Validate(); err != nil {
+ invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetLaunchSpecification sets the LaunchSpecification field's value.
+func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
+ s.LaunchSpecification = v
+ return s
+}
+
+// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
+func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
+ s.ScheduledInstanceId = &v
+ return s
+}
+
+// Contains the output of RunScheduledInstances.
+type RunScheduledInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The IDs of the newly launched instances.
+ InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s RunScheduledInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunScheduledInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceIdSet sets the InstanceIdSet field's value.
+func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
+ s.InstanceIdSet = v
+ return s
+}
+
+// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
+// AMI.
+type S3Storage struct {
+ _ struct{} `type:"structure"`
+
+ // 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).
+ AWSAccessKeyId *string `type:"string"`
+
+ // The bucket in which to store the AMI. You can specify a bucket that you already
+ // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
+ // a bucket that belongs to someone else, Amazon EC2 returns an error.
+ Bucket *string `locationName:"bucket" type:"string"`
+
+ // The beginning of the file name of the AMI.
+ Prefix *string `locationName:"prefix" type:"string"`
+
+ // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
+ // into Amazon S3 on your behalf.
+ //
+ // UploadPolicy is automatically base64 encoded/decoded by the SDK.
+ UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
+
+ // The signature of the JSON document.
+ UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
+}
+
+// String returns the string representation
+func (s S3Storage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s S3Storage) GoString() string {
+ return s.String()
+}
+
+// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
+func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
+ s.AWSAccessKeyId = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *S3Storage) SetBucket(v string) *S3Storage {
+ s.Bucket = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *S3Storage) SetPrefix(v string) *S3Storage {
+ s.Prefix = &v
+ return s
+}
+
+// SetUploadPolicy sets the UploadPolicy field's value.
+func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
+ s.UploadPolicy = v
+ return s
+}
+
+// SetUploadPolicySignature sets the UploadPolicySignature field's value.
+func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
+ s.UploadPolicySignature = &v
+ return s
+}
+
+// Describes a Scheduled Instance.
+type ScheduledInstance struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The date when the Scheduled Instance was purchased.
+ CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The hourly price for a single instance.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The number of instances.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The network platform (EC2-Classic or EC2-VPC).
+ NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
+
+ // The time for the next schedule to start.
+ NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The platform (Linux/UNIX or Windows).
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The time that the previous schedule ended or will end.
+ PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The schedule recurrence.
+ Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
+
+ // The Scheduled Instance ID.
+ ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
+
+ // The number of hours in the schedule.
+ SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
+
+ // The end date for the Scheduled Instance.
+ TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The start date for the Scheduled Instance.
+ TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The total number of hours for a single instance for the entire term.
+ TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
+}
+
+// String returns the string representation
+func (s ScheduledInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstance) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetCreateDate sets the CreateDate field's value.
+func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
+ s.CreateDate = &v
+ return s
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
+ s.InstanceType = &v
+ return s
+}
+
+// SetNetworkPlatform sets the NetworkPlatform field's value.
+func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
+ s.NetworkPlatform = &v
+ return s
+}
+
+// SetNextSlotStartTime sets the NextSlotStartTime field's value.
+func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
+ s.NextSlotStartTime = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
+ s.Platform = &v
+ return s
+}
+
+// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
+func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
+ s.PreviousSlotEndTime = &v
+ return s
+}
+
+// SetRecurrence sets the Recurrence field's value.
+func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
+ s.Recurrence = v
+ return s
+}
+
+// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
+func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
+ s.ScheduledInstanceId = &v
+ return s
+}
+
+// SetSlotDurationInHours sets the SlotDurationInHours field's value.
+func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
+ s.SlotDurationInHours = &v
+ return s
+}
+
+// SetTermEndDate sets the TermEndDate field's value.
+func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
+ s.TermEndDate = &v
+ return s
+}
+
+// SetTermStartDate sets the TermStartDate field's value.
+func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
+ s.TermStartDate = &v
+ return s
+}
+
+// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
+func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
+ s.TotalScheduledInstanceHours = &v
+ return s
+}
+
+// Describes a schedule that is available for your Scheduled Instances.
+type ScheduledInstanceAvailability struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of available instances.
+ AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
+
+ // The time period for the first schedule to start.
+ FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The hourly price for a single instance.
+ HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
+
+ // The instance type. You can specify one of the C3, C4, M4, or R3 instance
+ // types.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The maximum term. The only possible value is 365 days.
+ MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
+
+ // The minimum term. The only possible value is 365 days.
+ MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
+
+ // The network platform (EC2-Classic or EC2-VPC).
+ NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
+
+ // The platform (Linux/UNIX or Windows).
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The purchase token. This token expires in two hours.
+ PurchaseToken *string `locationName:"purchaseToken" type:"string"`
+
+ // The schedule recurrence.
+ Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
+
+ // The number of hours in the schedule.
+ SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
+
+ // The total number of hours for a single instance for the entire term.
+ TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
+}
+
+// String returns the string representation
+func (s ScheduledInstanceAvailability) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstanceAvailability) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
+func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
+ s.AvailableInstanceCount = &v
+ return s
+}
+
+// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
+func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
+ s.FirstSlotStartTime = &v
+ return s
+}
+
+// SetHourlyPrice sets the HourlyPrice field's value.
+func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
+ s.HourlyPrice = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
+ s.InstanceType = &v
+ return s
+}
+
+// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
+func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
+ s.MaxTermDurationInDays = &v
+ return s
+}
+
+// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
+func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
+ s.MinTermDurationInDays = &v
+ return s
+}
+
+// SetNetworkPlatform sets the NetworkPlatform field's value.
+func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
+ s.NetworkPlatform = &v
+ return s
+}
+
+// SetPlatform sets the Platform field's value.
+func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
+ s.Platform = &v
+ return s
+}
+
+// SetPurchaseToken sets the PurchaseToken field's value.
+func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
+ s.PurchaseToken = &v
+ return s
+}
+
+// SetRecurrence sets the Recurrence field's value.
+func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
+ s.Recurrence = v
+ return s
+}
+
+// SetSlotDurationInHours sets the SlotDurationInHours field's value.
+func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
+ s.SlotDurationInHours = &v
+ return s
+}
+
+// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
+func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
+ s.TotalScheduledInstanceHours = &v
+ return s
+}
+
+// Describes the recurring schedule for a Scheduled Instance.
+type ScheduledInstanceRecurrence struct {
+ _ struct{} `type:"structure"`
+
+ // The frequency (Daily, Weekly, or Monthly).
+ Frequency *string `locationName:"frequency" type:"string"`
+
+ // The interval quantity. The interval unit depends on the value of frequency.
+ // For example, every 2 weeks or every 2 months.
+ Interval *int64 `locationName:"interval" type:"integer"`
+
+ // The days. For a monthly schedule, this is one or more days of the month (1-31).
+ // For a weekly schedule, this is one or more days of the week (1-7, where 1
+ // is Sunday).
+ OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
+
+ // Indicates whether the occurrence is relative to the end of the specified
+ // week or month.
+ OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
+
+ // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
+ OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstanceRecurrence) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstanceRecurrence) GoString() string {
+ return s.String()
+}
+
+// SetFrequency sets the Frequency field's value.
+func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
+ s.Frequency = &v
+ return s
+}
+
+// SetInterval sets the Interval field's value.
+func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
+ s.Interval = &v
+ return s
+}
+
+// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
+func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
+ s.OccurrenceDaySet = v
+ return s
+}
+
+// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
+func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
+ s.OccurrenceRelativeToEnd = &v
+ return s
+}
+
+// SetOccurrenceUnit sets the OccurrenceUnit field's value.
+func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
+ s.OccurrenceUnit = &v
+ return s
+}
+
+// Describes the recurring schedule for a Scheduled Instance.
+type ScheduledInstanceRecurrenceRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The frequency (Daily, Weekly, or Monthly).
+ Frequency *string `type:"string"`
+
+ // The interval quantity. The interval unit depends on the value of Frequency.
+ // For example, every 2 weeks or every 2 months.
+ Interval *int64 `type:"integer"`
+
+ // The days. For a monthly schedule, this is one or more days of the month (1-31).
+ // For a weekly schedule, this is one or more days of the week (1-7, where 1
+ // is Sunday). You can't specify this value with a daily schedule. If the occurrence
+ // is relative to the end of the month, you can specify only a single day.
+ OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
+
+ // Indicates whether the occurrence is relative to the end of the specified
+ // week or month. You can't specify this value with a daily schedule.
+ OccurrenceRelativeToEnd *bool `type:"boolean"`
+
+ // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
+ // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
+ // You can't specify this value with a daily schedule.
+ OccurrenceUnit *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstanceRecurrenceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstanceRecurrenceRequest) GoString() string {
+ return s.String()
+}
+
+// SetFrequency sets the Frequency field's value.
+func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
+ s.Frequency = &v
+ return s
+}
+
+// SetInterval sets the Interval field's value.
+func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
+ s.Interval = &v
+ return s
+}
+
+// SetOccurrenceDays sets the OccurrenceDays field's value.
+func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
+ s.OccurrenceDays = v
+ return s
+}
+
+// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
+func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
+ s.OccurrenceRelativeToEnd = &v
+ return s
+}
+
+// SetOccurrenceUnit sets the OccurrenceUnit field's value.
+func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
+ s.OccurrenceUnit = &v
+ return s
+}
+
+// Describes a block device mapping for a Scheduled Instance.
+type ScheduledInstancesBlockDeviceMapping struct {
+ _ struct{} `type:"structure"`
+
+ // The device name (for example, /dev/sdh or xvdh).
+ DeviceName *string `type:"string"`
+
+ // Parameters used to set up EBS volumes automatically when the instance is
+ // launched.
+ Ebs *ScheduledInstancesEbs `type:"structure"`
+
+ // Suppresses the specified device included in the block device mapping of the
+ // AMI.
+ NoDevice *string `type:"string"`
+
+ // The virtual device name (ephemeralN). Instance store volumes are numbered
+ // starting from 0. An instance type with two available instance store volumes
+ // can specify mappings for ephemeral0 and ephemeral1. The number of available
+ // instance store volumes depends on the instance type. After you connect to
+ // the instance, you must mount the volume.
+ //
+ // Constraints: For M3 instances, you must specify instance store volumes in
+ // the block device mapping for the instance. When you launch an M3 instance,
+ // we ignore any instance store volumes specified in the block device mapping
+ // for the AMI.
+ VirtualName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesBlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
+ s.DeviceName = &v
+ return s
+}
+
+// SetEbs sets the Ebs field's value.
+func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
+ s.Ebs = v
+ return s
+}
+
+// SetNoDevice sets the NoDevice field's value.
+func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
+ s.NoDevice = &v
+ return s
+}
+
+// SetVirtualName sets the VirtualName field's value.
+func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
+ s.VirtualName = &v
+ return s
+}
+
+// Describes an EBS volume for a Scheduled Instance.
+type ScheduledInstancesEbs struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the volume is deleted on instance termination.
+ DeleteOnTermination *bool `type:"boolean"`
+
+ // Indicates whether the volume is encrypted. You can attached encrypted volumes
+ // only to instances that support them.
+ Encrypted *bool `type:"boolean"`
+
+ // The number of I/O operations per second (IOPS) that the volume supports.
+ // 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 about gp2 baseline performance, I/O credits,
+ // and bursting, see Amazon EBS Volume Types (http://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
+ // gp2 volumes.
+ //
+ // Condition: This parameter is required for requests to create io1volumes;
+ // it is not used in requests to create gp2, st1, sc1, or standard volumes.
+ Iops *int64 `type:"integer"`
+
+ // The ID of the snapshot.
+ SnapshotId *string `type:"string"`
+
+ // The size of the volume, in GiB.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ VolumeSize *int64 `type:"integer"`
+
+ // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
+ // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
+ //
+ // Default: standard
+ VolumeType *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesEbs) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesEbs) GoString() string {
+ return s.String()
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
+ s.Iops = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
+ s.VolumeSize = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
+ s.VolumeType = &v
+ return s
+}
+
+// Describes an IAM instance profile for a Scheduled Instance.
+type ScheduledInstancesIamInstanceProfile struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN).
+ Arn *string `type:"string"`
+
+ // The name.
+ Name *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesIamInstanceProfile) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesIamInstanceProfile) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
+ s.Arn = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
+ s.Name = &v
+ return s
+}
+
+// Describes an IPv6 address.
+type ScheduledInstancesIpv6Address struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 address.
+ Ipv6Address *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesIpv6Address) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesIpv6Address) GoString() string {
+ return s.String()
+}
+
+// SetIpv6Address sets the Ipv6Address field's value.
+func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
+ s.Ipv6Address = &v
+ return s
+}
+
+// Describes the launch specification for a Scheduled Instance.
+//
+// If you are launching the Scheduled Instance in EC2-VPC, you must specify
+// the ID of the subnet. You can specify the subnet using either SubnetId or
+// NetworkInterface.
+type ScheduledInstancesLaunchSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // Indicates whether the instances are optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS-optimized
+ // instance.
+ //
+ // Default: false
+ EbsOptimized *bool `type:"boolean"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
+
+ // The ID of the Amazon Machine Image (AMI).
+ //
+ // ImageId is a required field
+ ImageId *string `type:"string" required:"true"`
+
+ // The instance type.
+ InstanceType *string `type:"string"`
+
+ // The ID of the kernel.
+ KernelId *string `type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `type:"string"`
+
+ // Enable or disable monitoring for the instances.
+ Monitoring *ScheduledInstancesMonitoring `type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
+
+ // The placement information.
+ Placement *ScheduledInstancesPlacement `type:"structure"`
+
+ // The ID of the RAM disk.
+ RamdiskId *string `type:"string"`
+
+ // The IDs of one or more security groups.
+ SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The ID of the subnet in which to launch the instances.
+ SubnetId *string `type:"string"`
+
+ // The base64-encoded MIME user data.
+ UserData *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ScheduledInstancesLaunchSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
+ if s.ImageId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ImageId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
+ s.Placement = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetSecurityGroupIds sets the SecurityGroupIds field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
+ s.SecurityGroupIds = v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
+ s.UserData = &v
+ return s
+}
+
+// Describes whether monitoring is enabled for a Scheduled Instance.
+type ScheduledInstancesMonitoring struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether monitoring is enabled.
+ Enabled *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesMonitoring) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
+ s.Enabled = &v
+ return s
+}
+
+// Describes a network interface for a Scheduled Instance.
+type ScheduledInstancesNetworkInterface struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether to assign a public IPv4 address to instances launched in
+ // a VPC. The public IPv4 address can only be assigned to a network interface
+ // for eth0, and can only be assigned to a new network interface, not an existing
+ // one. You cannot specify more than one network interface in the request. If
+ // launching into a default subnet, the default value is true.
+ AssociatePublicIpAddress *bool `type:"boolean"`
+
+ // Indicates whether to delete the interface when the instance is terminated.
+ DeleteOnTermination *bool `type:"boolean"`
+
+ // The description.
+ Description *string `type:"string"`
+
+ // The index of the device for the network interface attachment.
+ DeviceIndex *int64 `type:"integer"`
+
+ // The IDs of one or more security groups.
+ Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The number of IPv6 addresses to assign to the network interface. The IPv6
+ // addresses are automatically selected from the subnet range.
+ Ipv6AddressCount *int64 `type:"integer"`
+
+ // One or more specific IPv6 addresses from the subnet range.
+ Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `type:"string"`
+
+ // The IPv4 address of the network interface within the subnet.
+ PrivateIpAddress *string `type:"string"`
+
+ // The private IPv4 addresses.
+ PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
+
+ // The number of secondary private IPv4 addresses.
+ SecondaryPrivateIpAddressCount *int64 `type:"integer"`
+
+ // The ID of the subnet.
+ SubnetId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesNetworkInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesNetworkInterface) GoString() string {
+ return s.String()
+}
+
+// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
+func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
+ s.AssociatePublicIpAddress = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceIndex sets the DeviceIndex field's value.
+func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
+ s.DeviceIndex = &v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
+ s.Groups = v
+ return s
+}
+
+// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
+func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
+ s.Ipv6AddressCount = &v
+ return s
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
+func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
+ s.PrivateIpAddressConfigs = v
+ return s
+}
+
+// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
+func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
+ s.SecondaryPrivateIpAddressCount = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
+ s.SubnetId = &v
+ return s
+}
+
+// Describes the placement for a Scheduled Instance.
+type ScheduledInstancesPlacement struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `type:"string"`
+
+ // The name of the placement group.
+ GroupName *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesPlacement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesPlacement) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
+ s.GroupName = &v
+ return s
+}
+
+// Describes a private IPv4 address for a Scheduled Instance.
+type ScheduledInstancesPrivateIpAddressConfig struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
+ // IPv4 address.
+ Primary *bool `type:"boolean"`
+
+ // The IPv4 address.
+ PrivateIpAddress *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
+ return s.String()
+}
+
+// SetPrimary sets the Primary field's value.
+func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
+ s.Primary = &v
+ return s
+}
+
+// SetPrivateIpAddress sets the PrivateIpAddress field's value.
+func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
+ s.PrivateIpAddress = &v
+ return s
+}
+
+// Describes a security group
+type SecurityGroup struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the security group.
+ Description *string `locationName:"groupDescription" type:"string"`
+
+ // The ID of the security group.
+ GroupId *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // One or more inbound rules associated with the security group.
+ IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // [EC2-VPC] One or more outbound rules associated with the security group.
+ IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
+
+ // The AWS account ID of the owner of the security group.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // Any tags assigned to the security group.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // [EC2-VPC] The ID of the VPC for the security group.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s SecurityGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SecurityGroup) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
+ s.Description = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
+ s.GroupName = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
+ s.IpPermissions = v
+ return s
+}
+
+// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
+func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
+ s.IpPermissionsEgress = v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
+ s.OwnerId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a security group.
+type SecurityGroupIdentifier struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the security group.
+ GroupId *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" type:"string"`
+}
+
+// String returns the string representation
+func (s SecurityGroupIdentifier) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SecurityGroupIdentifier) GoString() string {
+ return s.String()
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
+ s.GroupName = &v
+ return s
+}
+
+// Describes a VPC with a security group that references your security group.
+type SecurityGroupReference struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of your security group.
+ //
+ // GroupId is a required field
+ GroupId *string `locationName:"groupId" type:"string" required:"true"`
+
+ // The ID of the VPC with the referencing security group.
+ //
+ // ReferencingVpcId is a required field
+ ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
+
+ // The ID of the VPC peering connection.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
+}
+
+// String returns the string representation
+func (s SecurityGroupReference) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SecurityGroupReference) GoString() string {
+ return s.String()
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
+ s.GroupId = &v
+ return s
+}
+
+// SetReferencingVpcId sets the ReferencingVpcId field's value.
+func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
+ s.ReferencingVpcId = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Describes a service configuration for a VPC endpoint service.
+type ServiceConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether requests from other AWS accounts to create an endpoint
+ // to the service must first be accepted.
+ AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
+
+ // In the Availability Zones in which the service is available.
+ AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
+
+ // The DNS names for the service.
+ BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
+
+ // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
+ NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
+
+ // The private DNS name for the service.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The ID of the service.
+ ServiceId *string `locationName:"serviceId" type:"string"`
+
+ // The name of the service.
+ ServiceName *string `locationName:"serviceName" type:"string"`
+
+ // The service state.
+ ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
+
+ // The type of service.
+ ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s ServiceConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetAcceptanceRequired sets the AcceptanceRequired field's value.
+func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
+ s.AcceptanceRequired = &v
+ return s
+}
+
+// SetAvailabilityZones sets the AvailabilityZones field's value.
+func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
+ s.AvailabilityZones = v
+ return s
+}
+
+// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
+func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
+ s.BaseEndpointDnsNames = v
+ return s
+}
+
+// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
+func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
+ s.NetworkLoadBalancerArns = v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
+ s.ServiceId = &v
+ return s
+}
+
+// SetServiceName sets the ServiceName field's value.
+func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
+ s.ServiceName = &v
+ return s
+}
+
+// SetServiceState sets the ServiceState field's value.
+func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
+ s.ServiceState = &v
+ return s
+}
+
+// SetServiceType sets the ServiceType field's value.
+func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
+ s.ServiceType = v
+ return s
+}
+
+// Describes a VPC endpoint service.
+type ServiceDetail struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether VPC endpoint connection requests to the service must be
+ // accepted by the service owner.
+ AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
+
+ // The Availability Zones in which the service is available.
+ AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
+
+ // The DNS names for the service.
+ BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
+
+ // The AWS account ID of the service owner.
+ Owner *string `locationName:"owner" type:"string"`
+
+ // The private DNS name for the service.
+ PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
+
+ // The Amazon Resource Name (ARN) of the service.
+ ServiceName *string `locationName:"serviceName" type:"string"`
+
+ // The type of service.
+ ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
+
+ // Indicates whether the service supports endpoint policies.
+ VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
+}
+
+// String returns the string representation
+func (s ServiceDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceDetail) GoString() string {
+ return s.String()
+}
+
+// SetAcceptanceRequired sets the AcceptanceRequired field's value.
+func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
+ s.AcceptanceRequired = &v
+ return s
+}
+
+// SetAvailabilityZones sets the AvailabilityZones field's value.
+func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
+ s.AvailabilityZones = v
+ return s
+}
+
+// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
+func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
+ s.BaseEndpointDnsNames = v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
+ s.Owner = &v
+ return s
+}
+
+// SetPrivateDnsName sets the PrivateDnsName field's value.
+func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
+ s.PrivateDnsName = &v
+ return s
+}
+
+// SetServiceName sets the ServiceName field's value.
+func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
+ s.ServiceName = &v
+ return s
+}
+
+// SetServiceType sets the ServiceType field's value.
+func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
+ s.ServiceType = v
+ return s
+}
+
+// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
+func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
+ s.VpcEndpointPolicySupported = &v
+ return s
+}
+
+// Describes the type of service for a VPC endpoint.
+type ServiceTypeDetail struct {
+ _ struct{} `type:"structure"`
+
+ // The type of service.
+ ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
+}
+
+// String returns the string representation
+func (s ServiceTypeDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceTypeDetail) GoString() string {
+ return s.String()
+}
+
+// SetServiceType sets the ServiceType field's value.
+func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
+ s.ServiceType = &v
+ return s
+}
+
+// Describes the time period for a Scheduled Instance to start its first schedule.
+// The time period must span less than one day.
+type SlotDateTimeRangeRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The earliest date and time, in UTC, for the Scheduled Instance to start.
+ //
+ // EarliestTime is a required field
+ EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
+
+ // The latest date and time, in UTC, for the Scheduled Instance to start. This
+ // value must be later than or equal to the earliest date and at most three
+ // months in the future.
+ //
+ // LatestTime is a required field
+ LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
+}
+
+// String returns the string representation
+func (s SlotDateTimeRangeRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SlotDateTimeRangeRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SlotDateTimeRangeRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
+ if s.EarliestTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
+ }
+ if s.LatestTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("LatestTime"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEarliestTime sets the EarliestTime field's value.
+func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
+ s.EarliestTime = &v
+ return s
+}
+
+// SetLatestTime sets the LatestTime field's value.
+func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
+ s.LatestTime = &v
+ return s
+}
+
+// Describes the time period for a Scheduled Instance to start its first schedule.
+type SlotStartTimeRangeRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The earliest date and time, in UTC, for the Scheduled Instance to start.
+ EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // The latest date and time, in UTC, for the Scheduled Instance to start.
+ LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SlotStartTimeRangeRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SlotStartTimeRangeRequest) GoString() string {
+ return s.String()
+}
+
+// SetEarliestTime sets the EarliestTime field's value.
+func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
+ s.EarliestTime = &v
+ return s
+}
+
+// SetLatestTime sets the LatestTime field's value.
+func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
+ s.LatestTime = &v
+ return s
+}
+
+// Describes a snapshot.
+type Snapshot struct {
+ _ struct{} `type:"structure"`
+
+ // The data encryption key identifier for the snapshot. This value is a unique
+ // identifier that corresponds to the data encryption key that was used to encrypt
+ // the original volume or snapshot copy. Because data encryption keys are inherited
+ // by volumes created from snapshots, and vice versa, if snapshots share the
+ // same data encryption key identifier, then they belong to the same volume/snapshot
+ // lineage. This parameter is only returned by the DescribeSnapshots API operation.
+ DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
+
+ // The description for the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // Indicates whether the snapshot is encrypted.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) that was used to protect the volume encryption key for the parent
+ // volume.
+ KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+
+ // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
+ // of snapshot owners. Not to be confused with the user-configured AWS account
+ // alias, which is set from the IAM console.
+ OwnerAlias *string `locationName:"ownerAlias" type:"string"`
+
+ // The AWS account ID of the EBS snapshot owner.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The progress of the snapshot, as a percentage.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The ID of the snapshot. Each snapshot receives a unique identifier when it
+ // is created.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // The time stamp when the snapshot was initiated.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The snapshot state.
+ State *string `locationName:"status" type:"string" enum:"SnapshotState"`
+
+ // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
+ // operation fails (for example, if the proper AWS Key Management Service (AWS
+ // KMS) permissions are not obtained) this field displays error state details
+ // to help you diagnose why the error occurred. This parameter is only returned
+ // by the DescribeSnapshots API operation.
+ StateMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Any tags assigned to the snapshot.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the volume that was used to create the snapshot. Snapshots created
+ // by the CopySnapshot action have an arbitrary volume ID that should not be
+ // used for any purpose.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+
+ // The size of the volume, in GiB.
+ VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
+}
+
+// String returns the string representation
+func (s Snapshot) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Snapshot) GoString() string {
+ return s.String()
+}
+
+// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
+func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
+ s.DataEncryptionKeyId = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *Snapshot) SetDescription(v string) *Snapshot {
+ s.Description = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
+ s.Encrypted = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetOwnerAlias sets the OwnerAlias field's value.
+func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
+ s.OwnerAlias = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *Snapshot) SetOwnerId(v string) *Snapshot {
+ s.OwnerId = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *Snapshot) SetProgress(v string) *Snapshot {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
+ s.StartTime = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Snapshot) SetState(v string) *Snapshot {
+ s.State = &v
+ return s
+}
+
+// SetStateMessage sets the StateMessage field's value.
+func (s *Snapshot) SetStateMessage(v string) *Snapshot {
+ s.StateMessage = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
+ s.Tags = v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *Snapshot) SetVolumeId(v string) *Snapshot {
+ s.VolumeId = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
+ s.VolumeSize = &v
+ return s
+}
+
+// Describes the snapshot created from the imported disk.
+type SnapshotDetail struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // The block device mapping for the snapshot.
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // The size of the disk in the snapshot, in GiB.
+ DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
+
+ // The format of the disk image from which the snapshot is created.
+ Format *string `locationName:"format" type:"string"`
+
+ // The percentage of progress for the task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The snapshot ID of the disk being imported.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // A brief status of the snapshot creation.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message for the snapshot creation.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The URL used to access the disk image.
+ Url *string `locationName:"url" type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotDetail) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
+ s.Description = &v
+ return s
+}
+
+// SetDeviceName sets the DeviceName field's value.
+func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
+ s.DeviceName = &v
+ return s
+}
+
+// SetDiskImageSize sets the DiskImageSize field's value.
+func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
+ s.DiskImageSize = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
+ s.Format = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetUrl sets the Url field's value.
+func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
+ s.Url = &v
+ return s
+}
+
+// SetUserBucket sets the UserBucket field's value.
+func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
+ s.UserBucket = v
+ return s
+}
+
+// The disk container object for the import snapshot request.
+type SnapshotDiskContainer struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the disk image being imported.
+ Description *string `type:"string"`
+
+ // The format of the disk image being imported.
+ //
+ // Valid values: VHD | VMDK | OVA
+ Format *string `type:"string"`
+
+ // The URL to the Amazon S3-based disk image being imported. It can either be
+ // a https URL (https://..) or an Amazon S3 URL (s3://..).
+ Url *string `type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucket `type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotDiskContainer) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotDiskContainer) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
+ s.Description = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
+ s.Format = &v
+ return s
+}
+
+// SetUrl sets the Url field's value.
+func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
+ s.Url = &v
+ return s
+}
+
+// SetUserBucket sets the UserBucket field's value.
+func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
+ s.UserBucket = v
+ return s
+}
+
+// Details about the import snapshot task.
+type SnapshotTaskDetail struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // The size of the disk in the snapshot, in GiB.
+ DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
+
+ // The format of the disk image from which the snapshot is created.
+ Format *string `locationName:"format" type:"string"`
+
+ // The percentage of completion for the import snapshot task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The snapshot ID of the disk being imported.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // A brief status for the import snapshot task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message for the import snapshot task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The URL of the disk image from which the snapshot is created.
+ Url *string `locationName:"url" type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotTaskDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotTaskDetail) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
+ s.Description = &v
+ return s
+}
+
+// SetDiskImageSize sets the DiskImageSize field's value.
+func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
+ s.DiskImageSize = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
+ s.Format = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetUrl sets the Url field's value.
+func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
+ s.Url = &v
+ return s
+}
+
+// SetUserBucket sets the UserBucket field's value.
+func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
+ s.UserBucket = v
+ return s
+}
+
+// Describes the data feed for a Spot Instance.
+type SpotDatafeedSubscription struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon S3 bucket where the Spot Instance data feed is located.
+ Bucket *string `locationName:"bucket" type:"string"`
+
+ // The fault codes for the Spot Instance request, if any.
+ Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
+
+ // The AWS account ID of the account.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The prefix that is prepended to data feed files.
+ Prefix *string `locationName:"prefix" type:"string"`
+
+ // The state of the Spot Instance data feed subscription.
+ State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
+}
+
+// String returns the string representation
+func (s SpotDatafeedSubscription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotDatafeedSubscription) GoString() string {
+ return s.String()
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
+ s.Bucket = &v
+ return s
+}
+
+// SetFault sets the Fault field's value.
+func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
+ s.Fault = v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
+ s.Prefix = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
+ s.State = &v
+ return s
+}
+
+// Describes the launch specification for one or more Spot Instances.
+type SpotFleetLaunchSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries. You can't specify both a snapshot
+ // ID and an encryption value. This is because only blank volumes can be encrypted
+ // on creation. If a snapshot is the basis for a volume, it is not blank and
+ // its encryption status is used for the volume encryption status.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instances are optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageId *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelId *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Enable or disable monitoring for the instances.
+ Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces. If you specify a network interface, you must
+ // specify subnet IDs and security group IDs using the network interface.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The placement information.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RamdiskId *string `locationName:"ramdiskId" type:"string"`
+
+ // One or more security groups. When requesting instances in a VPC, you must
+ // specify the IDs of the security groups. When requesting instances in EC2-Classic,
+ // you can specify the names or the IDs of the security groups.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The maximum price per unit hour that you are willing to pay for a Spot Instance.
+ // If this value is not specified, the default is the Spot price specified for
+ // the fleet. To determine the Spot price per unit hour, divide the Spot price
+ // by the value of WeightedCapacity.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The ID of the subnet in which to launch the instances. To specify multiple
+ // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The tags to apply during creation.
+ TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
+
+ // The Base64-encoded user data to make available to the instances.
+ UserData *string `locationName:"userData" type:"string"`
+
+ // The number of units provided by the specified instance type. These are the
+ // same units that you chose to set the target capacity in terms (instances
+ // or a performance characteristic such as vCPUs, memory, or I/O).
+ //
+ // If the target capacity divided by this value is not a whole number, we round
+ // the number of instances to the next whole number. If this value is not specified,
+ // the default is 1.
+ WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
+}
+
+// String returns the string representation
+func (s SpotFleetLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SpotFleetLaunchSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
+ if s.NetworkInterfaces != nil {
+ for i, v := range s.NetworkInterfaces {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAddressingType sets the AddressingType field's value.
+func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
+ s.AddressingType = &v
+ return s
+}
+
+// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
+func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
+ s.BlockDeviceMappings = v
+ return s
+}
+
+// SetEbsOptimized sets the EbsOptimized field's value.
+func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
+ s.EbsOptimized = &v
+ return s
+}
+
+// SetIamInstanceProfile sets the IamInstanceProfile field's value.
+func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
+ s.IamInstanceProfile = v
+ return s
+}
+
+// SetImageId sets the ImageId field's value.
+func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
+ s.ImageId = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
+ s.InstanceType = &v
+ return s
+}
+
+// SetKernelId sets the KernelId field's value.
+func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
+ s.KernelId = &v
+ return s
+}
+
+// SetKeyName sets the KeyName field's value.
+func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
+ s.KeyName = &v
+ return s
+}
+
+// SetMonitoring sets the Monitoring field's value.
+func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
+ s.Monitoring = v
+ return s
+}
+
+// SetNetworkInterfaces sets the NetworkInterfaces field's value.
+func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
+ s.NetworkInterfaces = v
+ return s
+}
+
+// SetPlacement sets the Placement field's value.
+func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
+ s.Placement = v
+ return s
+}
+
+// SetRamdiskId sets the RamdiskId field's value.
+func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
+ s.RamdiskId = &v
+ return s
+}
+
+// SetSecurityGroups sets the SecurityGroups field's value.
+func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
+ s.SecurityGroups = v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetUserData sets the UserData field's value.
+func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
+ s.UserData = &v
+ return s
+}
+
+// SetWeightedCapacity sets the WeightedCapacity field's value.
+func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
+ s.WeightedCapacity = &v
+ return s
+}
+
+// Describes whether monitoring is enabled.
+type SpotFleetMonitoring struct {
+ _ struct{} `type:"structure"`
+
+ // Enables monitoring for the instance.
+ //
+ // Default: false
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+}
+
+// String returns the string representation
+func (s SpotFleetMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetMonitoring) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
+ s.Enabled = &v
+ return s
+}
+
+// Describes a Spot Fleet request.
+type SpotFleetRequestConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The progress of the Spot Fleet request. If there is an error, the status
+ // is error. After all requests are placed, the status is pending_fulfillment.
+ // If the size of the fleet is equal to or greater than its target capacity,
+ // the status is fulfilled. If the size of the fleet is decreased, the status
+ // is pending_termination while Spot Instances are terminating.
+ 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" timestampFormat:"iso8601" required:"true"`
+
+ // The configuration of the Spot Fleet request.
+ //
+ // SpotFleetRequestConfig is a required field
+ SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
+
+ // The ID of the Spot Fleet request.
+ //
+ // SpotFleetRequestId is a required field
+ SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ // The state of the Spot Fleet request.
+ //
+ // SpotFleetRequestState is a required field
+ SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
+}
+
+// String returns the string representation
+func (s SpotFleetRequestConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetRequestConfig) GoString() string {
+ return s.String()
+}
+
+// SetActivityStatus sets the ActivityStatus field's value.
+func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
+ s.ActivityStatus = &v
+ return s
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
+ s.CreateTime = &v
+ return s
+}
+
+// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
+func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
+ s.SpotFleetRequestConfig = v
+ return s
+}
+
+// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
+func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
+ s.SpotFleetRequestId = &v
+ return s
+}
+
+// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
+func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
+ s.SpotFleetRequestState = &v
+ return s
+}
+
+// Describes the configuration of a Spot Fleet request.
+type SpotFleetRequestConfigData struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates how to allocate the target capacity across the Spot pools specified
+ // by the Spot Fleet request. The default is lowestPrice.
+ AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
+
+ // 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).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Indicates whether running Spot Instances should be terminated if the target
+ // capacity of the Spot Fleet request is decreased below the current size of
+ // the Spot Fleet.
+ ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
+
+ // The number of units fulfilled by this request compared to the set target
+ // capacity.
+ FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
+
+ // Grants the Spot Fleet permission to terminate Spot Instances on your behalf
+ // when you cancel its Spot Fleet request using CancelSpotFleetRequests or when
+ // the Spot Fleet request expires, if you set terminateInstancesWithExpiration.
+ //
+ // IamFleetRole is a required field
+ IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The launch specifications for the Spot Fleet request.
+ LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
+
+ // The launch template and overrides.
+ LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
+
+ // One or more Classic Load Balancers and target groups to attach to the Spot
+ // Fleet request. Spot Fleet registers the running Spot Instances with the specified
+ // Classic Load Balancers and target groups.
+ //
+ // With Network Load Balancers, Spot Fleet cannot register instances that have
+ // the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
+ // HS1, M1, M2, M3, and T1.
+ LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
+
+ // The number of On-Demand units fulfilled by this request compared to the set
+ // target On-Demand capacity.
+ OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
+
+ // The number of On-Demand units to request. You can choose to set the target
+ // capacity in terms of instances or a performance characteristic that is important
+ // to your application workload, such as vCPUs, memory, or I/O. If the request
+ // type is maintain, you can specify a target capacity of 0 and add capacity
+ // later.
+ OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
+
+ // Indicates whether Spot Fleet should replace unhealthy instances.
+ ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
+
+ // The maximum price per unit hour that you are willing to pay for a Spot Instance.
+ // The default is the On-Demand price.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The number of units to request. You can choose to set the target capacity
+ // in terms of instances or a performance characteristic that is important to
+ // your application workload, such as vCPUs, memory, or I/O. If the request
+ // type is maintain, you can specify a target capacity of 0 and add capacity
+ // later.
+ //
+ // TargetCapacity is a required field
+ TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
+
+ // Indicates whether running Spot Instances should be terminated when the Spot
+ // Fleet request expires.
+ TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
+
+ // The type of request. Indicates whether the Spot Fleet only requests the target
+ // 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.
+ 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).
+ // The default is to start fulfilling the request immediately.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // 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.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SpotFleetRequestConfigData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetRequestConfigData) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SpotFleetRequestConfigData) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
+ if s.IamFleetRole == nil {
+ invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
+ }
+ if s.TargetCapacity == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
+ }
+ if s.LaunchSpecifications != nil {
+ for i, v := range s.LaunchSpecifications {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.LaunchTemplateConfigs != nil {
+ for i, v := range s.LaunchTemplateConfigs {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.LoadBalancersConfig != nil {
+ if err := s.LoadBalancersConfig.Validate(); err != nil {
+ invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAllocationStrategy sets the AllocationStrategy field's value.
+func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
+ s.AllocationStrategy = &v
+ return s
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
+ s.ClientToken = &v
+ return s
+}
+
+// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
+func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
+ s.ExcessCapacityTerminationPolicy = &v
+ return s
+}
+
+// SetFulfilledCapacity sets the FulfilledCapacity field's value.
+func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
+ s.FulfilledCapacity = &v
+ return s
+}
+
+// SetIamFleetRole sets the IamFleetRole field's value.
+func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
+ s.IamFleetRole = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetLaunchSpecifications sets the LaunchSpecifications field's value.
+func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
+ s.LaunchSpecifications = v
+ return s
+}
+
+// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
+func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
+ s.LaunchTemplateConfigs = v
+ return s
+}
+
+// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
+func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
+ s.LoadBalancersConfig = v
+ return s
+}
+
+// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
+func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
+ s.OnDemandFulfilledCapacity = &v
+ return s
+}
+
+// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
+func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
+ s.OnDemandTargetCapacity = &v
+ return s
+}
+
+// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
+func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
+ s.ReplaceUnhealthyInstances = &v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetTargetCapacity sets the TargetCapacity field's value.
+func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
+ s.TargetCapacity = &v
+ return s
+}
+
+// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
+func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
+ s.TerminateInstancesWithExpiration = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
+ s.Type = &v
+ return s
+}
+
+// SetValidFrom sets the ValidFrom field's value.
+func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
+ s.ValidFrom = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
+ s.ValidUntil = &v
+ return s
+}
+
+// The tags for a Spot Fleet resource.
+type SpotFleetTagSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource. Currently, the only resource type that is supported
+ // is instance.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tags.
+ Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s SpotFleetTagSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetTagSpecification) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
+ s.Tags = v
+ return s
+}
+
+// Describes a Spot Instance request.
+type SpotInstanceRequest struct {
+ _ struct{} `type:"structure"`
+
+ // If you specified a duration and your Spot Instance request was fulfilled,
+ // this is the fixed hourly price in effect for the Spot Instance while it runs.
+ ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
+
+ // The Availability Zone group. If you specify the same Availability Zone group
+ // for all Spot Instance requests, all Spot Instances are launched in the same
+ // Availability Zone.
+ AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
+
+ // The duration for the Spot Instance, in minutes.
+ BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
+
+ // The date and time when the Spot Instance request was created, in UTC format
+ // (for example, YYYY-MM-DDTHH:MM:SSZ).
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The fault codes for the Spot Instance request, if any.
+ Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
+
+ // The instance ID, if an instance has been launched to fulfill the Spot Instance
+ // request.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The behavior when a Spot Instance is interrupted.
+ InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The instance launch group. Launch groups are Spot Instances that launch together
+ // and terminate together.
+ LaunchGroup *string `locationName:"launchGroup" type:"string"`
+
+ // Additional information for launching instances.
+ LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
+
+ // The Availability Zone in which the request is launched.
+ LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
+
+ // The product description associated with the Spot Instance.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // The maximum price per hour that you are willing to pay for a Spot Instance.
+ 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)
+ // in the Amazon EC2 User Guide for Linux Instances.
+ State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
+
+ // The status code and status message describing the Spot Instance request.
+ Status *SpotInstanceStatus `locationName:"status" type:"structure"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The Spot Instance request type.
+ Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
+
+ // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // The request becomes active at this date and time.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // If this is a one-time request, it remains active until all instances launch,
+ // the request is canceled, or this date is reached. If the request is persistent,
+ // it remains active until it is canceled or this date is reached. The default
+ // end date is 7 days from the current date.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SpotInstanceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceRequest) GoString() string {
+ return s.String()
+}
+
+// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
+func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
+ s.ActualBlockHourlyPrice = &v
+ return s
+}
+
+// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
+func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
+ s.AvailabilityZoneGroup = &v
+ return s
+}
+
+// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
+func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
+ s.BlockDurationMinutes = &v
+ return s
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
+ s.CreateTime = &v
+ return s
+}
+
+// SetFault sets the Fault field's value.
+func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
+ s.Fault = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
+ s.InstanceId = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetLaunchGroup sets the LaunchGroup field's value.
+func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
+ s.LaunchGroup = &v
+ return s
+}
+
+// SetLaunchSpecification sets the LaunchSpecification field's value.
+func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
+ s.LaunchSpecification = v
+ return s
+}
+
+// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
+func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
+ s.LaunchedAvailabilityZone = &v
+ return s
+}
+
+// SetProductDescription sets the ProductDescription field's value.
+func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
+ s.ProductDescription = &v
+ return s
+}
+
+// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
+func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
+ s.SpotInstanceRequestId = &v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
+ s.State = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
+ s.Status = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
+ s.Tags = v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
+ s.Type = &v
+ return s
+}
+
+// SetValidFrom sets the ValidFrom field's value.
+func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
+ s.ValidFrom = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
+ s.ValidUntil = &v
+ return s
+}
+
+// Describes a Spot Instance state change.
+type SpotInstanceStateFault struct {
+ _ struct{} `type:"structure"`
+
+ // The reason code for the Spot Instance state change.
+ Code *string `locationName:"code" type:"string"`
+
+ // The message for the Spot Instance state change.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s SpotInstanceStateFault) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceStateFault) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
+ s.Message = &v
+ return s
+}
+
+// Describes the status of a Spot Instance request.
+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)
+ // in the Amazon EC2 User Guide for Linux Instances.
+ Code *string `locationName:"code" type:"string"`
+
+ // The description for the status code.
+ Message *string `locationName:"message" type:"string"`
+
+ // The date and time of the most recent status update, in UTC format (for example,
+ // YYYY-MM-DDTHH:MM:SSZ).
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SpotInstanceStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceStatus) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
+ s.Message = &v
+ return s
+}
+
+// SetUpdateTime sets the UpdateTime field's value.
+func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
+ s.UpdateTime = &v
+ return s
+}
+
+// The options for Spot Instances.
+type SpotMarketOptions struct {
+ _ struct{} `type:"structure"`
+
+ // The required duration for the Spot Instances (also known as Spot blocks),
+ // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
+ // or 360).
+ BlockDurationMinutes *int64 `type:"integer"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
+
+ // The maximum hourly price you're willing to pay for the Spot Instances. The
+ // default is the On-Demand price.
+ MaxPrice *string `type:"string"`
+
+ // The Spot Instance request type.
+ SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
+
+ // The end date of the request. For a one-time request, the request remains
+ // active until all instances launch, the request is canceled, or this date
+ // is reached. If the request is persistent, it remains active until it is canceled
+ // or this date and time is reached. The default end date is 7 days from the
+ // current date.
+ ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SpotMarketOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotMarketOptions) GoString() string {
+ return s.String()
+}
+
+// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
+func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
+ s.BlockDurationMinutes = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// SetMaxPrice sets the MaxPrice field's value.
+func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
+ s.MaxPrice = &v
+ return s
+}
+
+// SetSpotInstanceType sets the SpotInstanceType field's value.
+func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
+ s.SpotInstanceType = &v
+ return s
+}
+
+// SetValidUntil sets the ValidUntil field's value.
+func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
+ s.ValidUntil = &v
+ return s
+}
+
+// Describes the configuration of Spot Instances in an EC2 Fleet.
+type SpotOptions struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates how to allocate the target capacity across the Spot pools specified
+ // by the Spot Fleet request. The default is lowestPrice.
+ AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
+}
+
+// String returns the string representation
+func (s SpotOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotOptions) GoString() string {
+ return s.String()
+}
+
+// SetAllocationStrategy sets the AllocationStrategy field's value.
+func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
+ s.AllocationStrategy = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// Describes the configuration of Spot Instances in an EC2 Fleet request.
+type SpotOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates how to allocate the target capacity across the Spot pools specified
+ // by the Spot Fleet request. The default is lowestPrice.
+ AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
+
+ // The behavior when a Spot Instance is interrupted. The default is terminate.
+ InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
+}
+
+// String returns the string representation
+func (s SpotOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetAllocationStrategy sets the AllocationStrategy field's value.
+func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
+ s.AllocationStrategy = &v
+ return s
+}
+
+// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
+func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
+ s.InstanceInterruptionBehavior = &v
+ return s
+}
+
+// Describes Spot Instance placement.
+type SpotPlacement struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone.
+ //
+ // [Spot Fleet only] To specify multiple Availability Zones, separate them using
+ // commas; for example, "us-west-2a, us-west-2b".
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The name of the placement group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The tenancy of the instance (if the instance is running in a VPC). An instance
+ // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
+ // is not supported for Spot Instances.
+ Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
+}
+
+// String returns the string representation
+func (s SpotPlacement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotPlacement) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
+ s.GroupName = &v
+ return s
+}
+
+// SetTenancy sets the Tenancy field's value.
+func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
+ s.Tenancy = &v
+ return s
+}
+
+// Describes the maximum price per hour that you are willing to pay for a Spot
+// Instance.
+type SpotPrice struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // A general description of the AMI.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The maximum price per hour that you are willing to pay for a Spot Instance.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s SpotPrice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotPrice) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetInstanceType sets the InstanceType field's value.
+func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
+ s.InstanceType = &v
+ return s
+}
+
+// SetProductDescription sets the ProductDescription field's value.
+func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
+ s.ProductDescription = &v
+ return s
+}
+
+// SetSpotPrice sets the SpotPrice field's value.
+func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
+ s.SpotPrice = &v
+ return s
+}
+
+// SetTimestamp sets the Timestamp field's value.
+func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
+ s.Timestamp = &v
+ return s
+}
+
+// Describes a stale rule in a security group.
+type StaleIpPermission struct {
+ _ struct{} `type:"structure"`
+
+ // The start of the port range for the TCP and UDP protocols, or an ICMP type
+ // number. A value of -1 indicates all ICMP types.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
+ // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
+ IpProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // One or more IP ranges. Not applicable for stale security group rules.
+ IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
+
+ // One or more prefix list IDs for an AWS service. Not applicable for stale
+ // security group rules.
+ PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
+
+ // The end of the port range for the TCP and UDP protocols, or an ICMP type
+ // number. A value of -1 indicates all ICMP types.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+
+ // One or more security group pairs. Returns the ID of the referenced security
+ // group and VPC, and the ID and status of the VPC peering connection.
+ UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s StaleIpPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StaleIpPermission) GoString() string {
+ return s.String()
+}
+
+// SetFromPort sets the FromPort field's value.
+func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
+ s.FromPort = &v
+ return s
+}
+
+// SetIpProtocol sets the IpProtocol field's value.
+func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
+ s.IpProtocol = &v
+ return s
+}
+
+// SetIpRanges sets the IpRanges field's value.
+func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
+ s.IpRanges = v
+ return s
+}
+
+// SetPrefixListIds sets the PrefixListIds field's value.
+func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
+ s.PrefixListIds = v
+ return s
+}
+
+// SetToPort sets the ToPort field's value.
+func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
+ s.ToPort = &v
+ return s
+}
+
+// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
+func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
+ s.UserIdGroupPairs = v
+ return s
+}
+
+// Describes a stale security group (a security group that contains stale rules).
+type StaleSecurityGroup struct {
+ _ struct{} `type:"structure"`
+
+ // The description of the security group.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the security group.
+ //
+ // GroupId is a required field
+ GroupId *string `locationName:"groupId" type:"string" required:"true"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // Information about the stale inbound rules in the security group.
+ StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
+
+ // Information about the stale outbound rules in the security group.
+ StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC for the security group.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s StaleSecurityGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StaleSecurityGroup) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
+ s.Description = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
+ s.GroupName = &v
+ return s
+}
+
+// SetStaleIpPermissions sets the StaleIpPermissions field's value.
+func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
+ s.StaleIpPermissions = v
+ return s
+}
+
+// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
+func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
+ s.StaleIpPermissionsEgress = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
+ s.VpcId = &v
+ return s
+}
+
+// Contains the parameters for StartInstances.
+type StartInstancesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" 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 `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s StartInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *StartInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAdditionalInfo sets the AdditionalInfo field's value.
+func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
+ s.AdditionalInfo = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// Contains the output of StartInstances.
+type StartInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more started instances.
+ StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s StartInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetStartingInstances sets the StartingInstances field's value.
+func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
+ s.StartingInstances = v
+ return s
+}
+
+// Describes a state change.
+type StateReason struct {
+ _ struct{} `type:"structure"`
+
+ // The reason code for the state change.
+ Code *string `locationName:"code" type:"string"`
+
+ // The message for the state change.
+ //
+ // * Server.InsufficientInstanceCapacity: There was insufficient capacity
+ // available to satisfy the launch request.
+ //
+ // * Server.InternalError: An internal error caused the instance to terminate
+ // during launch.
+ //
+ // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
+ //
+ // * Server.SpotInstanceShutdown: The instance was stopped because the number
+ // of Spot requests with a maximum price equal to or higher than the Spot
+ // price exceeded available capacity or because of an increase in the Spot
+ // price.
+ //
+ // * Server.SpotInstanceTermination: The instance was terminated because
+ // the number of Spot requests with a maximum price equal to or higher than
+ // the Spot price exceeded available capacity or because of an increase in
+ // the Spot price.
+ //
+ // * Client.InstanceInitiatedShutdown: The instance was shut down using the
+ // shutdown -h command from the instance.
+ //
+ // * Client.InstanceTerminated: The instance was terminated or rebooted during
+ // AMI creation.
+ //
+ // * Client.InternalError: A client error caused the instance to terminate
+ // during launch.
+ //
+ // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
+ //
+ // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
+ // EC2 API.
+ //
+ // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
+ // total storage was exceeded. Decrease usage or request an increase in your
+ // account limits.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s StateReason) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StateReason) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *StateReason) SetCode(v string) *StateReason {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *StateReason) SetMessage(v string) *StateReason {
+ s.Message = &v
+ return s
+}
+
+// Contains the parameters for StopInstances.
+type StopInstancesInput 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"`
+
+ // Forces the instances to stop. The instances do not have an opportunity to
+ // flush file system caches or file system metadata. If you use this option,
+ // you must perform file system check and repair procedures. This option is
+ // not recommended for Windows instances.
+ //
+ // Default: false
+ Force *bool `locationName:"force" type:"boolean"`
+
+ // One or more instance IDs.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s StopInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StopInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *StopInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetForce sets the Force field's value.
+func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
+ s.Force = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// Contains the output of StopInstances.
+type StopInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more stopped instances.
+ StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s StopInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StopInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetStoppingInstances sets the StoppingInstances field's value.
+func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
+ s.StoppingInstances = v
+ return s
+}
+
+// Describes the storage location for an instance store-backed AMI.
+type Storage struct {
+ _ struct{} `type:"structure"`
+
+ // An Amazon S3 storage location.
+ S3 *S3Storage `type:"structure"`
+}
+
+// String returns the string representation
+func (s Storage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Storage) GoString() string {
+ return s.String()
+}
+
+// SetS3 sets the S3 field's value.
+func (s *Storage) SetS3(v *S3Storage) *Storage {
+ s.S3 = v
+ return s
+}
+
+// Describes a storage location in Amazon S3.
+type StorageLocation struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the S3 bucket.
+ Bucket *string `type:"string"`
+
+ // The key.
+ Key *string `type:"string"`
+}
+
+// String returns the string representation
+func (s StorageLocation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StorageLocation) GoString() string {
+ return s.String()
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *StorageLocation) SetBucket(v string) *StorageLocation {
+ s.Bucket = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *StorageLocation) SetKey(v string) *StorageLocation {
+ s.Key = &v
+ return s
+}
+
+// Describes a subnet.
+type Subnet struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether a network interface created in this subnet (including a
+ // network interface created by RunInstances) receives an IPv6 address.
+ AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
+
+ // The Availability Zone of the subnet.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of unused private IPv4 addresses in the subnet. Note that the
+ // IPv4 addresses for any stopped instances are considered unavailable.
+ AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
+
+ // The IPv4 CIDR block assigned to the subnet.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Indicates whether this is the default subnet for the Availability Zone.
+ DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
+
+ // Information about the IPv6 CIDR blocks associated with the subnet.
+ Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
+
+ // Indicates whether instances launched in this subnet receive a public IPv4
+ // address.
+ MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
+
+ // The current state of the subnet.
+ State *string `locationName:"state" type:"string" enum:"SubnetState"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the subnet.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC the subnet is in.
+ VpcId *string `locationName:"vpcId" 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()
+}
+
+// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
+func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
+ s.AssignIpv6AddressOnCreation = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
+func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
+ s.AvailableIpAddressCount = &v
+ return s
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *Subnet) SetCidrBlock(v string) *Subnet {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetDefaultForAz sets the DefaultForAz field's value.
+func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
+ s.DefaultForAz = &v
+ return s
+}
+
+// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
+func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
+ s.Ipv6CidrBlockAssociationSet = v
+ return s
+}
+
+// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
+func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
+ s.MapPublicIpOnLaunch = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Subnet) SetState(v string) *Subnet {
+ s.State = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *Subnet) SetSubnetId(v string) *Subnet {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Subnet) SetTags(v []*Tag) *Subnet {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *Subnet) SetVpcId(v string) *Subnet {
+ s.VpcId = &v
+ return s
+}
+
+// Describes the state of a CIDR block.
+type SubnetCidrBlockState struct {
+ _ struct{} `type:"structure"`
+
+ // The state of a CIDR block.
+ State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
+
+ // A message about the status of the CIDR block, if applicable.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s SubnetCidrBlockState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SubnetCidrBlockState) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes an IPv6 CIDR block associated with a subnet.
+type SubnetIpv6CidrBlockAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID for the CIDR block.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The IPv6 CIDR block.
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+
+ // Information about the state of the CIDR block.
+ Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
+}
+
+// String returns the string representation
+func (s SubnetIpv6CidrBlockAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SubnetIpv6CidrBlockAssociation) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
+ s.AssociationId = &v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
+func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
+ s.Ipv6CidrBlockState = v
+ return s
+}
+
+// Describes the T2 instance whose credit option for CPU usage was successfully
+// modified.
+type SuccessfulInstanceCreditSpecificationItem struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s SuccessfulInstanceCreditSpecificationItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
+ return s.String()
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
+ s.InstanceId = &v
+ return s
+}
+
+// Describes a tag.
+type Tag struct {
+ _ struct{} `type:"structure"`
+
+ // The key of the tag.
+ //
+ // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
+ // characters. May not begin with aws:
+ Key *string `locationName:"key" type:"string"`
+
+ // The value of the tag.
+ //
+ // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
+ // characters.
+ 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
+}
+
+// Describes a tag.
+type TagDescription struct {
+ _ struct{} `type:"structure"`
+
+ // The tag key.
+ Key *string `locationName:"key" type:"string"`
+
+ // The ID of the resource. For example, ami-1a2b3c4d.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+
+ // The resource type.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tag value.
+ Value *string `locationName:"value" type:"string"`
+}
+
+// String returns the string representation
+func (s TagDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagDescription) GoString() string {
+ return s.String()
+}
+
+// SetKey sets the Key field's value.
+func (s *TagDescription) SetKey(v string) *TagDescription {
+ s.Key = &v
+ return s
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *TagDescription) SetResourceId(v string) *TagDescription {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TagDescription) SetResourceType(v string) *TagDescription {
+ s.ResourceType = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *TagDescription) SetValue(v string) *TagDescription {
+ s.Value = &v
+ return s
+}
+
+// The tags to apply to a resource when the resource is being created.
+type TagSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource to tag. Currently, the resource types that support tagging
+ // on creation are fleet, instance, snapshot, and volume. To tag a resource
+ // after it has been created, see CreateTags.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tags to apply to the resource.
+ Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s TagSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagSpecification) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
+ s.Tags = v
+ return s
+}
+
+// The number of units to request. You can choose to set the target capacity
+// in terms of instances or a performance characteristic that is important to
+// your application workload, such as vCPUs, memory, or I/O. If the request
+// type is maintain, you can specify a target capacity of 0 and add capacity
+// later.
+type TargetCapacitySpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The default TotalTargetCapacity, which is either Spot or On-Demand.
+ DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
+
+ // The number of On-Demand units to request.
+ OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
+
+ // The maximum number of Spot units to launch.
+ SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
+
+ // The number of units to request, filled using DefaultTargetCapacityType.
+ TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
+}
+
+// String returns the string representation
+func (s TargetCapacitySpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetCapacitySpecification) GoString() string {
+ return s.String()
+}
+
+// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
+func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
+ s.DefaultTargetCapacityType = &v
+ return s
+}
+
+// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
+func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
+ s.OnDemandTargetCapacity = &v
+ return s
+}
+
+// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
+func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
+ s.SpotTargetCapacity = &v
+ return s
+}
+
+// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
+func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
+ s.TotalTargetCapacity = &v
+ return s
+}
+
+// The number of units to request. You can choose to set the target capacity
+// in terms of instances or a performance characteristic that is important to
+// your application workload, such as vCPUs, memory, or I/O. If the request
+// type is maintain, you can specify a target capacity of 0 and add capacity
+// later.
+type TargetCapacitySpecificationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The default TotalTargetCapacity, which is either Spot or On-Demand.
+ DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
+
+ // The number of On-Demand units to request.
+ OnDemandTargetCapacity *int64 `type:"integer"`
+
+ // The number of Spot units to request.
+ SpotTargetCapacity *int64 `type:"integer"`
+
+ // The number of units to request, filled using DefaultTargetCapacityType.
+ //
+ // TotalTargetCapacity is a required field
+ TotalTargetCapacity *int64 `type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s TargetCapacitySpecificationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetCapacitySpecificationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TargetCapacitySpecificationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
+ if s.TotalTargetCapacity == nil {
+ invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
+func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
+ s.DefaultTargetCapacityType = &v
+ return s
+}
+
+// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
+func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
+ s.OnDemandTargetCapacity = &v
+ return s
+}
+
+// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
+func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
+ s.SpotTargetCapacity = &v
+ return s
+}
+
+// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
+func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
+ s.TotalTargetCapacity = &v
+ return s
+}
+
+// Information about the Convertible Reserved Instance offering.
+type TargetConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The number of instances the Convertible Reserved Instance offering can be
+ // applied to. This parameter is reserved and cannot be specified in a request
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The ID of the Convertible Reserved Instance offering.
+ OfferingId *string `locationName:"offeringId" type:"string"`
+}
+
+// String returns the string representation
+func (s TargetConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
+ s.OfferingId = &v
+ return s
+}
+
+// Details about the target configuration.
+type TargetConfigurationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The number of instances the Covertible Reserved Instance offering can be
+ // applied to. This parameter is reserved and cannot be specified in a request
+ InstanceCount *int64 `type:"integer"`
+
+ // The Convertible Reserved Instance offering ID.
+ //
+ // OfferingId is a required field
+ OfferingId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s TargetConfigurationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetConfigurationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TargetConfigurationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
+ if s.OfferingId == nil {
+ invalidParams.Add(request.NewErrParamRequired("OfferingId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetInstanceCount sets the InstanceCount field's value.
+func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
+ s.InstanceCount = &v
+ return s
+}
+
+// SetOfferingId sets the OfferingId field's value.
+func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
+ s.OfferingId = &v
+ return s
+}
+
+// Describes a load balancer target group.
+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"`
+}
+
+// String returns the string representation
+func (s TargetGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+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
+ return s
+}
+
+// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
+// the running Spot Instances with these target groups.
+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"`
+}
+
+// String returns the string representation
+func (s TargetGroupsConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetGroupsConfig) GoString() string {
+ return s.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
+ }
+ return nil
+}
+
+// SetTargetGroups sets the TargetGroups field's value.
+func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
+ s.TargetGroups = v
+ return s
+}
+
+// The total value of the new Convertible Reserved Instances.
+type TargetReservationValue struct {
+ _ struct{} `type:"structure"`
+
+ // The total value of the Convertible Reserved Instances that make up the exchange.
+ // This is the sum of the list value, remaining upfront price, and additional
+ // upfront cost of the exchange.
+ ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
+
+ // The configuration of the Convertible Reserved Instances that make up the
+ // exchange.
+ TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
+}
+
+// String returns the string representation
+func (s TargetReservationValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetReservationValue) GoString() string {
+ return s.String()
+}
+
+// SetReservationValue sets the ReservationValue field's value.
+func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
+ s.ReservationValue = v
+ return s
+}
+
+// SetTargetConfiguration sets the TargetConfiguration field's value.
+func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
+ s.TargetConfiguration = v
+ return s
+}
+
+// Contains the parameters for TerminateInstances.
+type TerminateInstancesInput 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 instance IDs.
+ //
+ // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
+ // into smaller batches.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s TerminateInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TerminateInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TerminateInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// Contains the output of TerminateInstances.
+type TerminateInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more terminated instances.
+ TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s TerminateInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TerminateInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetTerminatingInstances sets the TerminatingInstances field's value.
+func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
+ s.TerminatingInstances = v
+ return s
+}
+
+type UnassignIpv6AddressesInput struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv6 addresses to unassign from the network interface.
+ //
+ // Ipv6Addresses is a required field
+ Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s UnassignIpv6AddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignIpv6AddressesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UnassignIpv6AddressesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
+ if s.Ipv6Addresses == nil {
+ invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
+ }
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetIpv6Addresses sets the Ipv6Addresses field's value.
+func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
+ s.Ipv6Addresses = v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+type UnassignIpv6AddressesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The IPv6 addresses that have been unassigned from the network interface.
+ UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s UnassignIpv6AddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignIpv6AddressesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
+func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
+ s.UnassignedIpv6Addresses = v
+ return s
+}
+
+// Contains the parameters for UnassignPrivateIpAddresses.
+type UnassignPrivateIpAddressesInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // The secondary private IP addresses to unassign from the network interface.
+ // You can specify this option multiple times to unassign more than one IP address.
+ //
+ // PrivateIpAddresses is a required field
+ PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s UnassignPrivateIpAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignPrivateIpAddressesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UnassignPrivateIpAddressesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+ if s.PrivateIpAddresses == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
+func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
+ s.PrivateIpAddresses = v
+ return s
+}
+
+type UnassignPrivateIpAddressesOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnassignPrivateIpAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignPrivateIpAddressesOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for UnmonitorInstances.
+type UnmonitorInstancesInput 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 instance IDs.
+ //
+ // InstanceIds is a required field
+ InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s UnmonitorInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnmonitorInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UnmonitorInstancesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
+ if s.InstanceIds == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceIds sets the InstanceIds field's value.
+func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
+ s.InstanceIds = v
+ return s
+}
+
+// Contains the output of UnmonitorInstances.
+type UnmonitorInstancesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The monitoring information.
+ InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s UnmonitorInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnmonitorInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceMonitorings sets the InstanceMonitorings field's value.
+func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
+ s.InstanceMonitorings = v
+ return s
+}
+
+// Describes the T2 instance whose credit option for CPU usage was not modified.
+type UnsuccessfulInstanceCreditSpecificationItem struct {
+ _ struct{} `type:"structure"`
+
+ // The applicable error for the T2 instance whose credit option for CPU usage
+ // was not modified.
+ Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
+ return s.String()
+}
+
+// SetError sets the Error field's value.
+func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
+ s.Error = v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
+ s.InstanceId = &v
+ return s
+}
+
+// Information about the error for the T2 instance whose credit option for CPU
+// usage was not modified.
+type UnsuccessfulInstanceCreditSpecificationItemError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
+
+ // The applicable error message.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
+ s.Message = &v
+ return s
+}
+
+// Information about items that were not successfully processed in a batch call.
+type UnsuccessfulItem struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the error.
+ //
+ // Error is a required field
+ Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
+
+ // The ID of the resource.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulItem) GoString() string {
+ return s.String()
+}
+
+// SetError sets the Error field's value.
+func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
+ s.Error = v
+ return s
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
+ s.ResourceId = &v
+ return s
+}
+
+// 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).
+type UnsuccessfulItemError struct {
+ _ struct{} `type:"structure"`
+
+ // The error code.
+ //
+ // Code is a required field
+ Code *string `locationName:"code" type:"string" required:"true"`
+
+ // The error message accompanying the error code.
+ //
+ // Message is a required field
+ Message *string `locationName:"message" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulItemError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulItemError) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
+ s.Message = &v
+ return s
+}
+
+// Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress.
+type UpdateSecurityGroupRuleDescriptionsEgressInput 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 security group. You must specify either the security group
+ // ID or the security group name in the request. For security groups in a nondefault
+ // VPC, you must specify the security group ID.
+ GroupId *string `type:"string"`
+
+ // [Default VPC] The name of the security group. You must specify either the
+ // security group ID or the security group name in the request.
+ GroupName *string `type:"string"`
+
+ // The IP permissions for the security group rule.
+ //
+ // IpPermissions is a required field
+ IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
+ if s.IpPermissions == nil {
+ invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// Contains the output of UpdateSecurityGroupRuleDescriptionsEgress.
+type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
+ s.Return = &v
+ return s
+}
+
+// Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress.
+type UpdateSecurityGroupRuleDescriptionsIngressInput 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 security group. You must specify either the security group
+ // ID or the security group name in the request. For security groups in a nondefault
+ // VPC, you must specify the security group ID.
+ GroupId *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group. You must specify
+ // either the security group ID or the security group name in the request.
+ GroupName *string `type:"string"`
+
+ // The IP permissions for the security group rule.
+ //
+ // IpPermissions is a required field
+ IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
+ if s.IpPermissions == nil {
+ invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
+ s.GroupName = &v
+ return s
+}
+
+// SetIpPermissions sets the IpPermissions field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
+ s.IpPermissions = v
+ return s
+}
+
+// Contains the output of UpdateSecurityGroupRuleDescriptionsIngress.
+type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
+ s.Return = &v
+ return s
+}
+
+// Describes the S3 bucket for the disk image.
+type UserBucket struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the S3 bucket where the disk image is located.
+ S3Bucket *string `type:"string"`
+
+ // The file name of the disk image.
+ S3Key *string `type:"string"`
+}
+
+// String returns the string representation
+func (s UserBucket) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserBucket) GoString() string {
+ return s.String()
+}
+
+// SetS3Bucket sets the S3Bucket field's value.
+func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
+ s.S3Bucket = &v
+ return s
+}
+
+// SetS3Key sets the S3Key field's value.
+func (s *UserBucket) SetS3Key(v string) *UserBucket {
+ s.S3Key = &v
+ return s
+}
+
+// Describes the S3 bucket for the disk image.
+type UserBucketDetails struct {
+ _ struct{} `type:"structure"`
+
+ // The S3 bucket from which the disk image was created.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The file name of the disk image.
+ S3Key *string `locationName:"s3Key" type:"string"`
+}
+
+// String returns the string representation
+func (s UserBucketDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserBucketDetails) GoString() string {
+ return s.String()
+}
+
+// SetS3Bucket sets the S3Bucket field's value.
+func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
+ s.S3Bucket = &v
+ return s
+}
+
+// SetS3Key sets the S3Key field's value.
+func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
+ s.S3Key = &v
+ return s
+}
+
+// Describes the user data for an instance.
+type UserData struct {
+ _ struct{} `type:"structure"`
+
+ // The user data. If you are using an AWS SDK or 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.
+ Data *string `locationName:"data" type:"string"`
+}
+
+// String returns the string representation
+func (s UserData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserData) GoString() string {
+ return s.String()
+}
+
+// SetData sets the Data field's value.
+func (s *UserData) SetData(v string) *UserData {
+ s.Data = &v
+ return s
+}
+
+// Describes a security group and AWS account ID pair.
+type UserIdGroupPair struct {
+ _ struct{} `type:"structure"`
+
+ // A description for the security group rule that references this user ID group
+ // pair.
+ //
+ // Constraints: Up to 255 characters in length. Allowed characters are a-z,
+ // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the security group.
+ GroupId *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group. In a request, use this parameter for a security
+ // group in EC2-Classic or a default VPC only. For a security group in a nondefault
+ // VPC, use the security group ID.
+ //
+ // For a referenced security group in another VPC, this value is not returned
+ // if the referenced security group is deleted.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The status of a VPC peering connection, if applicable.
+ PeeringStatus *string `locationName:"peeringStatus" type:"string"`
+
+ // The ID of an AWS account.
+ //
+ // For a referenced security group in another VPC, the account ID of the referenced
+ // security group is returned in the response. If the referenced security group
+ // is deleted, this value is not returned.
+ //
+ // [EC2-Classic] Required when adding or removing rules that reference a security
+ // group in another AWS account.
+ UserId *string `locationName:"userId" type:"string"`
+
+ // The ID of the VPC for the referenced security group, if applicable.
+ VpcId *string `locationName:"vpcId" type:"string"`
+
+ // The ID of the VPC peering connection, if applicable.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
+}
+
+// String returns the string representation
+func (s UserIdGroupPair) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserIdGroupPair) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
+ s.Description = &v
+ return s
+}
+
+// SetGroupId sets the GroupId field's value.
+func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
+ s.GroupId = &v
+ return s
+}
+
+// SetGroupName sets the GroupName field's value.
+func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
+ s.GroupName = &v
+ return s
+}
+
+// SetPeeringStatus sets the PeeringStatus field's value.
+func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
+ s.PeeringStatus = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
+ s.UserId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
+ s.VpcId = &v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Describes telemetry for a VPN tunnel.
+type VgwTelemetry struct {
+ _ struct{} `type:"structure"`
+
+ // The number of accepted routes.
+ AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
+
+ // The date and time of the last change in status.
+ LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The Internet-routable IP address of the virtual private gateway's outside
+ // interface.
+ OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
+
+ // The status of the VPN tunnel.
+ Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
+
+ // If an error occurs, a description of the error.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s VgwTelemetry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VgwTelemetry) GoString() string {
+ return s.String()
+}
+
+// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
+func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
+ s.AcceptedRouteCount = &v
+ return s
+}
+
+// SetLastStatusChange sets the LastStatusChange field's value.
+func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
+ s.LastStatusChange = &v
+ return s
+}
+
+// SetOutsideIpAddress sets the OutsideIpAddress field's value.
+func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
+ s.OutsideIpAddress = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
+ s.Status = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes a volume.
+type Volume struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the volume attachments.
+ Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
+
+ // The Availability Zone for the volume.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The time stamp when volume creation was initiated.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the volume will be encrypted.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The number of I/O operations per second (IOPS) that the volume supports.
+ // 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 on 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)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Constraint: Range is 100-32000 IOPS for io1 volumes and 100-10000 IOPS for
+ // gp2 volumes.
+ //
+ // 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.
+ Iops *int64 `locationName:"iops" type:"integer"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) that was used to protect the volume encryption key for the volume.
+ KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+
+ // The size of the volume, in GiBs.
+ Size *int64 `locationName:"size" type:"integer"`
+
+ // The snapshot from which the volume was created, if applicable.
+ SnapshotId *string `locationName:"snapshotId" type:"string"`
+
+ // The volume state.
+ State *string `locationName:"status" type:"string" enum:"VolumeState"`
+
+ // Any tags assigned to the volume.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the volume.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+
+ // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
+ // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
+ // for Magnetic volumes.
+ VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
+}
+
+// String returns the string representation
+func (s Volume) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Volume) GoString() string {
+ return s.String()
+}
+
+// SetAttachments sets the Attachments field's value.
+func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
+ s.Attachments = v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *Volume) SetAvailabilityZone(v string) *Volume {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *Volume) SetCreateTime(v time.Time) *Volume {
+ s.CreateTime = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *Volume) SetEncrypted(v bool) *Volume {
+ s.Encrypted = &v
+ return s
+}
+
+// SetIops sets the Iops field's value.
+func (s *Volume) SetIops(v int64) *Volume {
+ s.Iops = &v
+ return s
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *Volume) SetKmsKeyId(v string) *Volume {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *Volume) SetSize(v int64) *Volume {
+ s.Size = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *Volume) SetSnapshotId(v string) *Volume {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Volume) SetState(v string) *Volume {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Volume) SetTags(v []*Tag) *Volume {
+ s.Tags = v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *Volume) SetVolumeId(v string) *Volume {
+ s.VolumeId = &v
+ return s
+}
+
+// SetVolumeType sets the VolumeType field's value.
+func (s *Volume) SetVolumeType(v string) *Volume {
+ s.VolumeType = &v
+ return s
+}
+
+// Describes volume attachment details.
+type VolumeAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The device name.
+ Device *string `locationName:"device" type:"string"`
+
+ // The ID of the instance.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+
+ // The attachment state of the volume.
+ State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
+
+ // The ID of the volume.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+}
+
+// String returns the string representation
+func (s VolumeAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeAttachment) GoString() string {
+ return s.String()
+}
+
+// SetAttachTime sets the AttachTime field's value.
+func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
+ s.AttachTime = &v
+ return s
+}
+
+// SetDeleteOnTermination sets the DeleteOnTermination field's value.
+func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
+ s.DeleteOnTermination = &v
+ return s
+}
+
+// SetDevice sets the Device field's value.
+func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
+ s.Device = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
+ s.InstanceId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
+ s.State = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
+ s.VolumeId = &v
+ return s
+}
+
+// Describes an EBS volume.
+type VolumeDetail struct {
+ _ struct{} `type:"structure"`
+
+ // The size of the volume, in GiB.
+ //
+ // Size is a required field
+ Size *int64 `locationName:"size" type:"long" required:"true"`
+}
+
+// String returns the string representation
+func (s VolumeDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeDetail) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VolumeDetail) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
+ if s.Size == nil {
+ invalidParams.Add(request.NewErrParamRequired("Size"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetSize sets the Size field's value.
+func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
+ s.Size = &v
+ return s
+}
+
+// Describes the modification status of an EBS volume.
+//
+// If the volume has never been modified, some element values will be null.
+type VolumeModification struct {
+ _ struct{} `type:"structure"`
+
+ // Modification completion or failure time.
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Current state of modification. Modification state is null for unmodified
+ // volumes.
+ ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
+
+ // Original IOPS rate of the volume being modified.
+ OriginalIops *int64 `locationName:"originalIops" type:"integer"`
+
+ // Original size of the volume being modified.
+ OriginalSize *int64 `locationName:"originalSize" type:"integer"`
+
+ // Original EBS volume type of the volume being modified.
+ OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
+
+ // Modification progress from 0 to 100%.
+ Progress *int64 `locationName:"progress" type:"long"`
+
+ // Modification start time
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Generic status message on modification progress or failure.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Target IOPS rate of the volume being modified.
+ TargetIops *int64 `locationName:"targetIops" type:"integer"`
+
+ // Target size of the volume being modified.
+ TargetSize *int64 `locationName:"targetSize" type:"integer"`
+
+ // Target EBS volume type of the volume being modified.
+ TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
+
+ // ID of the volume being modified.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+}
+
+// String returns the string representation
+func (s VolumeModification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeModification) GoString() string {
+ return s.String()
+}
+
+// SetEndTime sets the EndTime field's value.
+func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
+ s.EndTime = &v
+ return s
+}
+
+// SetModificationState sets the ModificationState field's value.
+func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
+ s.ModificationState = &v
+ return s
+}
+
+// SetOriginalIops sets the OriginalIops field's value.
+func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
+ s.OriginalIops = &v
+ return s
+}
+
+// SetOriginalSize sets the OriginalSize field's value.
+func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
+ s.OriginalSize = &v
+ return s
+}
+
+// SetOriginalVolumeType sets the OriginalVolumeType field's value.
+func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
+ s.OriginalVolumeType = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
+ s.Progress = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
+ s.StartTime = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
+ s.StatusMessage = &v
+ return s
+}
+
+// SetTargetIops sets the TargetIops field's value.
+func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
+ s.TargetIops = &v
+ return s
+}
+
+// SetTargetSize sets the TargetSize field's value.
+func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
+ s.TargetSize = &v
+ return s
+}
+
+// SetTargetVolumeType sets the TargetVolumeType field's value.
+func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
+ s.TargetVolumeType = &v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
+ s.VolumeId = &v
+ return s
+}
+
+// Describes a volume status operation code.
+type VolumeStatusAction struct {
+ _ struct{} `type:"structure"`
+
+ // The code identifying the operation, for example, enable-volume-io.
+ Code *string `locationName:"code" type:"string"`
+
+ // A description of the operation.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the event associated with this operation.
+ EventId *string `locationName:"eventId" type:"string"`
+
+ // The event type associated with this operation.
+ EventType *string `locationName:"eventType" type:"string"`
+}
+
+// String returns the string representation
+func (s VolumeStatusAction) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusAction) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
+ s.Code = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
+ s.Description = &v
+ return s
+}
+
+// SetEventId sets the EventId field's value.
+func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
+ s.EventId = &v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
+ s.EventType = &v
+ return s
+}
+
+// Describes a volume status.
+type VolumeStatusDetails struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the volume status.
+ Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
+
+ // The intended status of the volume status.
+ Status *string `locationName:"status" type:"string"`
+}
+
+// String returns the string representation
+func (s VolumeStatusDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusDetails) GoString() string {
+ return s.String()
+}
+
+// SetName sets the Name field's value.
+func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
+ s.Name = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
+ s.Status = &v
+ return s
+}
+
+// Describes a volume status event.
+type VolumeStatusEvent struct {
+ _ struct{} `type:"structure"`
+
+ // A description of the event.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of this event.
+ EventId *string `locationName:"eventId" type:"string"`
+
+ // The type of this event.
+ EventType *string `locationName:"eventType" type:"string"`
+
+ // The latest end time of the event.
+ NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The earliest start time of the event.
+ NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s VolumeStatusEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusEvent) GoString() string {
+ return s.String()
+}
+
+// SetDescription sets the Description field's value.
+func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
+ s.Description = &v
+ return s
+}
+
+// SetEventId sets the EventId field's value.
+func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
+ s.EventId = &v
+ return s
+}
+
+// SetEventType sets the EventType field's value.
+func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
+ s.EventType = &v
+ return s
+}
+
+// SetNotAfter sets the NotAfter field's value.
+func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
+ s.NotAfter = &v
+ return s
+}
+
+// SetNotBefore sets the NotBefore field's value.
+func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
+ s.NotBefore = &v
+ return s
+}
+
+// Describes the status of a volume.
+type VolumeStatusInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The details of the volume status.
+ Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
+
+ // The status of the volume.
+ Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
+}
+
+// String returns the string representation
+func (s VolumeStatusInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusInfo) GoString() string {
+ return s.String()
+}
+
+// SetDetails sets the Details field's value.
+func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
+ s.Details = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
+ s.Status = &v
+ return s
+}
+
+// Describes the volume status.
+type VolumeStatusItem struct {
+ _ struct{} `type:"structure"`
+
+ // The details of the operation.
+ Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
+
+ // The Availability Zone of the volume.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // A list of events associated with the volume.
+ Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
+
+ // The volume ID.
+ VolumeId *string `locationName:"volumeId" type:"string"`
+
+ // The volume status.
+ VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusItem) GoString() string {
+ return s.String()
+}
+
+// SetActions sets the Actions field's value.
+func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
+ s.Actions = v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetEvents sets the Events field's value.
+func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
+ s.Events = v
+ return s
+}
+
+// SetVolumeId sets the VolumeId field's value.
+func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
+ s.VolumeId = &v
+ return s
+}
+
+// SetVolumeStatus sets the VolumeStatus field's value.
+func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
+ s.VolumeStatus = v
+ return s
+}
+
+// Describes a VPC.
+type Vpc struct {
+ _ struct{} `type:"structure"`
+
+ // The primary IPv4 CIDR block for the VPC.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Information about the IPv4 CIDR blocks associated with the VPC.
+ CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
+
+ // The ID of the set of DHCP options you've associated with the VPC (or default
+ // if the default options are associated with the VPC).
+ DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
+
+ // The allowed tenancy of instances launched into the VPC.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // Information about the IPv6 CIDR blocks associated with the VPC.
+ Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
+
+ // Indicates whether the VPC is the default VPC.
+ IsDefault *bool `locationName:"isDefault" type:"boolean"`
+
+ // The current state of the VPC.
+ State *string `locationName:"state" type:"string" enum:"VpcState"`
+
+ // Any tags assigned to the VPC.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s Vpc) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Vpc) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *Vpc) SetCidrBlock(v string) *Vpc {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
+func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
+ s.CidrBlockAssociationSet = v
+ return s
+}
+
+// SetDhcpOptionsId sets the DhcpOptionsId field's value.
+func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
+ s.DhcpOptionsId = &v
+ return s
+}
+
+// SetInstanceTenancy sets the InstanceTenancy field's value.
+func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
+ s.InstanceTenancy = &v
+ return s
+}
+
+// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
+func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
+ s.Ipv6CidrBlockAssociationSet = v
+ return s
+}
+
+// SetIsDefault sets the IsDefault field's value.
+func (s *Vpc) SetIsDefault(v bool) *Vpc {
+ s.IsDefault = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *Vpc) SetState(v string) *Vpc {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *Vpc) SetTags(v []*Tag) *Vpc {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *Vpc) SetVpcId(v string) *Vpc {
+ s.VpcId = &v
+ return s
+}
+
+// Describes an attachment between a virtual private gateway and a VPC.
+type VpcAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // The current state of the attachment.
+ State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcAttachment) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *VpcAttachment) SetState(v string) *VpcAttachment {
+ s.State = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
+ s.VpcId = &v
+ return s
+}
+
+// Describes an IPv4 CIDR block associated with a VPC.
+type VpcCidrBlockAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID for the IPv4 CIDR block.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The IPv4 CIDR block.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Information about the state of the CIDR block.
+ CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
+}
+
+// String returns the string representation
+func (s VpcCidrBlockAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcCidrBlockAssociation) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
+ s.AssociationId = &v
+ return s
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetCidrBlockState sets the CidrBlockState field's value.
+func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
+ s.CidrBlockState = v
+ return s
+}
+
+// Describes the state of a CIDR block.
+type VpcCidrBlockState struct {
+ _ struct{} `type:"structure"`
+
+ // The state of the CIDR block.
+ State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
+
+ // A message about the status of the CIDR block, if applicable.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcCidrBlockState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcCidrBlockState) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
+ s.StatusMessage = &v
+ return s
+}
+
+// Describes whether a VPC is enabled for ClassicLink.
+type VpcClassicLink struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the VPC is enabled for ClassicLink.
+ ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
+
+ // Any tags assigned to the VPC.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcClassicLink) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcClassicLink) GoString() string {
+ return s.String()
+}
+
+// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
+func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
+ s.ClassicLinkEnabled = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
+ s.Tags = v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a VPC endpoint.
+type VpcEndpoint struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the VPC endpoint was created.
+ CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ // (Interface endpoint) The DNS entries for the endpoint.
+ DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) Information about the security groups associated with
+ // the network interface.
+ Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // (Interface endpoint) One or more network interfaces for the endpoint.
+ NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
+
+ // The policy document associated with the endpoint, if applicable.
+ PolicyDocument *string `locationName:"policyDocument" type:"string"`
+
+ // (Interface endpoint) Indicates whether the VPC is associated with a private
+ // hosted zone.
+ PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
+
+ // (Gateway endpoint) One or more route tables associated with the endpoint.
+ RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
+
+ // The name of the service to which the endpoint is associated.
+ ServiceName *string `locationName:"serviceName" type:"string"`
+
+ // The state of the VPC endpoint.
+ State *string `locationName:"state" type:"string" enum:"State"`
+
+ // (Interface endpoint) One or more subnets in which the endpoint is located.
+ SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC endpoint.
+ VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
+
+ // The type of endpoint.
+ VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
+
+ // The ID of the VPC to which the endpoint is associated.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcEndpoint) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcEndpoint) GoString() string {
+ return s.String()
+}
+
+// SetCreationTimestamp sets the CreationTimestamp field's value.
+func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
+ s.CreationTimestamp = &v
+ return s
+}
+
+// SetDnsEntries sets the DnsEntries field's value.
+func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
+ s.DnsEntries = v
+ return s
+}
+
+// SetGroups sets the Groups field's value.
+func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
+ s.Groups = v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// SetPolicyDocument sets the PolicyDocument field's value.
+func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
+ s.PolicyDocument = &v
+ return s
+}
+
+// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
+func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
+ s.PrivateDnsEnabled = &v
+ return s
+}
+
+// SetRouteTableIds sets the RouteTableIds field's value.
+func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
+ s.RouteTableIds = v
+ return s
+}
+
+// SetServiceName sets the ServiceName field's value.
+func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
+ s.ServiceName = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
+ s.State = &v
+ return s
+}
+
+// SetSubnetIds sets the SubnetIds field's value.
+func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
+ s.SubnetIds = v
+ return s
+}
+
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
+ s.VpcEndpointId = &v
+ return s
+}
+
+// SetVpcEndpointType sets the VpcEndpointType field's value.
+func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
+ s.VpcEndpointType = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a VPC endpoint connection to a service.
+type VpcEndpointConnection struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the VPC endpoint was created.
+ CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The ID of the service to which the endpoint is connected.
+ ServiceId *string `locationName:"serviceId" type:"string"`
+
+ // The ID of the VPC endpoint.
+ VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
+
+ // The AWS account ID of the owner of the VPC endpoint.
+ VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
+
+ // The state of the VPC endpoint.
+ VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
+}
+
+// String returns the string representation
+func (s VpcEndpointConnection) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcEndpointConnection) GoString() string {
+ return s.String()
+}
+
+// SetCreationTimestamp sets the CreationTimestamp field's value.
+func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
+ s.CreationTimestamp = &v
+ return s
+}
+
+// SetServiceId sets the ServiceId field's value.
+func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
+ s.ServiceId = &v
+ return s
+}
+
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
+ s.VpcEndpointId = &v
+ return s
+}
+
+// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
+func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
+ s.VpcEndpointOwner = &v
+ return s
+}
+
+// SetVpcEndpointState sets the VpcEndpointState field's value.
+func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
+ s.VpcEndpointState = &v
+ return s
+}
+
+// Describes an IPv6 CIDR block associated with a VPC.
+type VpcIpv6CidrBlockAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The association ID for the IPv6 CIDR block.
+ AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The IPv6 CIDR block.
+ Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
+
+ // Information about the state of the CIDR block.
+ Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
+}
+
+// String returns the string representation
+func (s VpcIpv6CidrBlockAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcIpv6CidrBlockAssociation) GoString() string {
+ return s.String()
+}
+
+// SetAssociationId sets the AssociationId field's value.
+func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
+ s.AssociationId = &v
+ return s
+}
+
+// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
+func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
+ s.Ipv6CidrBlock = &v
+ return s
+}
+
+// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
+func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
+ s.Ipv6CidrBlockState = v
+ return s
+}
+
+// Describes a VPC peering connection.
+type VpcPeeringConnection struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the accepter VPC. CIDR block information is only returned
+ // when describing an active VPC peering connection.
+ AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
+
+ // The time that an unaccepted VPC peering connection will expire.
+ ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Information about the requester VPC. CIDR block information is only returned
+ // when describing an active VPC peering connection.
+ RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
+
+ // The status of the VPC peering connection.
+ Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC peering connection.
+ VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcPeeringConnection) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcPeeringConnection) GoString() string {
+ return s.String()
+}
+
+// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
+func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
+ s.AccepterVpcInfo = v
+ return s
+}
+
+// SetExpirationTime sets the ExpirationTime field's value.
+func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
+ s.ExpirationTime = &v
+ return s
+}
+
+// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
+func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
+ s.RequesterVpcInfo = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
+ s.Status = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
+ s.Tags = v
+ return s
+}
+
+// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
+func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
+ s.VpcPeeringConnectionId = &v
+ return s
+}
+
+// Describes the VPC peering connection options.
+type VpcPeeringConnectionOptionsDescription struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether a local VPC can resolve public DNS hostnames to private
+ // IP addresses when queried from instances in a peer VPC.
+ AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
+
+ // Indicates whether a local ClassicLink connection can communicate with the
+ // peer VPC over the VPC peering connection.
+ AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
+
+ // Indicates whether a local VPC can communicate with a ClassicLink connection
+ // in the peer VPC over the VPC peering connection.
+ AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
+}
+
+// String returns the string representation
+func (s VpcPeeringConnectionOptionsDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcPeeringConnectionOptionsDescription) GoString() string {
+ return s.String()
+}
+
+// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
+func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
+ s.AllowDnsResolutionFromRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
+func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
+ s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
+ return s
+}
+
+// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
+func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
+ s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
+ return s
+}
+
+// Describes the status of a VPC peering connection.
+type VpcPeeringConnectionStateReason struct {
+ _ struct{} `type:"structure"`
+
+ // The status of the VPC peering connection.
+ Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
+
+ // A message that provides more information about the status, if applicable.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcPeeringConnectionStateReason) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcPeeringConnectionStateReason) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
+ s.Message = &v
+ return s
+}
+
+// Describes a VPC in a VPC peering connection.
+type VpcPeeringConnectionVpcInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The IPv4 CIDR block for the VPC.
+ CidrBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Information about the IPv4 CIDR blocks for the VPC.
+ CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
+
+ // The IPv6 CIDR block for the VPC.
+ Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
+
+ // The AWS account ID of the VPC owner.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // Information about the VPC peering connection options for the accepter or
+ // requester VPC.
+ PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
+
+ // The region in which the VPC is located.
+ Region *string `locationName:"region" type:"string"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpcPeeringConnectionVpcInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpcPeeringConnectionVpcInfo) GoString() string {
+ return s.String()
+}
+
+// SetCidrBlock sets the CidrBlock field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
+ s.CidrBlock = &v
+ return s
+}
+
+// SetCidrBlockSet sets the CidrBlockSet field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
+ s.CidrBlockSet = v
+ return s
+}
+
+// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
+ s.Ipv6CidrBlockSet = v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPeeringOptions sets the PeeringOptions field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
+ s.PeeringOptions = v
+ return s
+}
+
+// SetRegion sets the Region field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
+ s.Region = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a VPN connection.
+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.
+ Category *string `locationName:"category" type:"string"`
+
+ // The configuration information for the VPN connection's customer gateway (in
+ // the native XML format). This element is always present in the CreateVpnConnection
+ // response; however, it's present in the DescribeVpnConnections response only
+ // if the VPN connection is in the pending or available state.
+ CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
+
+ // The ID of the customer gateway at your end of the VPN connection.
+ CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
+
+ // The VPN connection options.
+ Options *VpnConnectionOptions `locationName:"options" type:"structure"`
+
+ // The static routes associated with the VPN connection.
+ Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
+
+ // The current state of the VPN connection.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+
+ // Any tags assigned to the VPN connection.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection.
+ Type *string `locationName:"type" type:"string" enum:"GatewayType"`
+
+ // Information about the VPN tunnel.
+ VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
+
+ // The ID of the VPN connection.
+ VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
+
+ // The ID of the virtual private gateway at the AWS side of the VPN connection.
+ VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpnConnection) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnConnection) GoString() string {
+ return s.String()
+}
+
+// SetCategory sets the Category field's value.
+func (s *VpnConnection) SetCategory(v string) *VpnConnection {
+ s.Category = &v
+ return s
+}
+
+// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
+func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
+ s.CustomerGatewayConfiguration = &v
+ return s
+}
+
+// SetCustomerGatewayId sets the CustomerGatewayId field's value.
+func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
+ s.CustomerGatewayId = &v
+ return s
+}
+
+// SetOptions sets the Options field's value.
+func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
+ s.Options = v
+ return s
+}
+
+// SetRoutes sets the Routes field's value.
+func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
+ s.Routes = v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *VpnConnection) SetState(v string) *VpnConnection {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
+ s.Tags = v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *VpnConnection) SetType(v string) *VpnConnection {
+ s.Type = &v
+ return s
+}
+
+// SetVgwTelemetry sets the VgwTelemetry field's value.
+func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
+ s.VgwTelemetry = v
+ return s
+}
+
+// SetVpnConnectionId sets the VpnConnectionId field's value.
+func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
+ s.VpnConnectionId = &v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
+ s.VpnGatewayId = &v
+ return s
+}
+
+// Describes VPN connection options.
+type VpnConnectionOptions struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the VPN connection uses static routes only. Static routes
+ // must be used for devices that don't support BGP.
+ StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
+}
+
+// String returns the string representation
+func (s VpnConnectionOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnConnectionOptions) GoString() string {
+ return s.String()
+}
+
+// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
+func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
+ s.StaticRoutesOnly = &v
+ return s
+}
+
+// Describes VPN connection options.
+type VpnConnectionOptionsSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // Indicate whether the VPN connection uses static routes only. If you are creating
+ // a VPN connection for a device that does not support BGP, you must specify
+ // true. Use CreateVpnConnectionRoute to create a static route.
+ //
+ // Default: false
+ StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
+
+ // The tunnel options for the VPN connection.
+ TunnelOptions []*VpnTunnelOptionsSpecification `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s VpnConnectionOptionsSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnConnectionOptionsSpecification) GoString() string {
+ return s.String()
+}
+
+// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
+func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
+ s.StaticRoutesOnly = &v
+ return s
+}
+
+// SetTunnelOptions sets the TunnelOptions field's value.
+func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
+ s.TunnelOptions = v
+ return s
+}
+
+// Describes a virtual private gateway.
+type VpnGateway struct {
+ _ struct{} `type:"structure"`
+
+ // The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
+ AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
+
+ // The Availability Zone where the virtual private gateway was created, if applicable.
+ // This field may be empty or not returned.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The current state of the virtual private gateway.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+
+ // Any tags assigned to the virtual private gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection the virtual private gateway supports.
+ Type *string `locationName:"type" type:"string" enum:"GatewayType"`
+
+ // Any VPCs attached to the virtual private gateway.
+ VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
+
+ // The ID of the virtual private gateway.
+ VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s VpnGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnGateway) GoString() string {
+ return s.String()
+}
+
+// SetAmazonSideAsn sets the AmazonSideAsn field's value.
+func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
+ s.AmazonSideAsn = &v
+ return s
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *VpnGateway) SetState(v string) *VpnGateway {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
+ s.Tags = v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *VpnGateway) SetType(v string) *VpnGateway {
+ s.Type = &v
+ return s
+}
+
+// SetVpcAttachments sets the VpcAttachments field's value.
+func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
+ s.VpcAttachments = v
+ return s
+}
+
+// SetVpnGatewayId sets the VpnGatewayId field's value.
+func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
+ s.VpnGatewayId = &v
+ return s
+}
+
+// Describes a static route for a VPN connection.
+type VpnStaticRoute struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR block associated with the local subnet of the customer data center.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // Indicates how the routes were provided.
+ Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
+
+ // The current state of the static route.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+}
+
+// String returns the string representation
+func (s VpnStaticRoute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnStaticRoute) GoString() string {
+ return s.String()
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetSource sets the Source field's value.
+func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
+ s.Source = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
+ s.State = &v
+ return s
+}
+
+// The tunnel options for a VPN connection.
+type VpnTunnelOptionsSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The pre-shared key (PSK) to establish initial authentication between the
+ // virtual private gateway and customer gateway.
+ //
+ // Constraints: Allowed characters are alphanumeric characters and ._. Must
+ // be between 8 and 64 characters in length and cannot start with zero (0).
+ PreSharedKey *string `type:"string"`
+
+ // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
+ // must be unique across all VPN connections that use the same virtual private
+ // gateway.
+ //
+ // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
+ // CIDR blocks are reserved and cannot be used:
+ //
+ // * 169.254.0.0/30
+ //
+ // * 169.254.1.0/30
+ //
+ // * 169.254.2.0/30
+ //
+ // * 169.254.3.0/30
+ //
+ // * 169.254.4.0/30
+ //
+ // * 169.254.5.0/30
+ //
+ // * 169.254.169.252/30
+ TunnelInsideCidr *string `type:"string"`
+}
+
+// String returns the string representation
+func (s VpnTunnelOptionsSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VpnTunnelOptionsSpecification) GoString() string {
+ return s.String()
+}
+
+// SetPreSharedKey sets the PreSharedKey field's value.
+func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
+ s.PreSharedKey = &v
+ return s
+}
+
+// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
+func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
+ s.TunnelInsideCidr = &v
+ return s
+}
+
+const (
+ // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
+ AccountAttributeNameSupportedPlatforms = "supported-platforms"
+
+ // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
+ AccountAttributeNameDefaultVpc = "default-vpc"
+)
+
+const (
+ // ActivityStatusError is a ActivityStatus enum value
+ ActivityStatusError = "error"
+
+ // ActivityStatusPendingFulfillment is a ActivityStatus enum value
+ ActivityStatusPendingFulfillment = "pending_fulfillment"
+
+ // ActivityStatusPendingTermination is a ActivityStatus enum value
+ ActivityStatusPendingTermination = "pending_termination"
+
+ // ActivityStatusFulfilled is a ActivityStatus enum value
+ ActivityStatusFulfilled = "fulfilled"
+)
+
+const (
+ // AffinityDefault is a Affinity enum value
+ AffinityDefault = "default"
+
+ // AffinityHost is a Affinity enum value
+ AffinityHost = "host"
+)
+
+const (
+ // AllocationStateAvailable is a AllocationState enum value
+ AllocationStateAvailable = "available"
+
+ // AllocationStateUnderAssessment is a AllocationState enum value
+ AllocationStateUnderAssessment = "under-assessment"
+
+ // AllocationStatePermanentFailure is a AllocationState enum value
+ AllocationStatePermanentFailure = "permanent-failure"
+
+ // AllocationStateReleased is a AllocationState enum value
+ AllocationStateReleased = "released"
+
+ // AllocationStateReleasedPermanentFailure is a AllocationState enum value
+ AllocationStateReleasedPermanentFailure = "released-permanent-failure"
+)
+
+const (
+ // AllocationStrategyLowestPrice is a AllocationStrategy enum value
+ AllocationStrategyLowestPrice = "lowestPrice"
+
+ // AllocationStrategyDiversified is a AllocationStrategy enum value
+ AllocationStrategyDiversified = "diversified"
+)
+
+const (
+ // ArchitectureValuesI386 is a ArchitectureValues enum value
+ ArchitectureValuesI386 = "i386"
+
+ // ArchitectureValuesX8664 is a ArchitectureValues enum value
+ ArchitectureValuesX8664 = "x86_64"
+)
+
+const (
+ // AttachmentStatusAttaching is a AttachmentStatus enum value
+ AttachmentStatusAttaching = "attaching"
+
+ // AttachmentStatusAttached is a AttachmentStatus enum value
+ AttachmentStatusAttached = "attached"
+
+ // AttachmentStatusDetaching is a AttachmentStatus enum value
+ AttachmentStatusDetaching = "detaching"
+
+ // AttachmentStatusDetached is a AttachmentStatus enum value
+ AttachmentStatusDetached = "detached"
+)
+
+const (
+ // AutoPlacementOn is a AutoPlacement enum value
+ AutoPlacementOn = "on"
+
+ // AutoPlacementOff is a AutoPlacement enum value
+ AutoPlacementOff = "off"
+)
+
+const (
+ // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
+ AvailabilityZoneStateAvailable = "available"
+
+ // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
+ AvailabilityZoneStateInformation = "information"
+
+ // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
+ AvailabilityZoneStateImpaired = "impaired"
+
+ // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
+ AvailabilityZoneStateUnavailable = "unavailable"
+)
+
+const (
+ // BatchStateSubmitted is a BatchState enum value
+ BatchStateSubmitted = "submitted"
+
+ // BatchStateActive is a BatchState enum value
+ BatchStateActive = "active"
+
+ // BatchStateCancelled is a BatchState enum value
+ BatchStateCancelled = "cancelled"
+
+ // BatchStateFailed is a BatchState enum value
+ BatchStateFailed = "failed"
+
+ // BatchStateCancelledRunning is a BatchState enum value
+ BatchStateCancelledRunning = "cancelled_running"
+
+ // BatchStateCancelledTerminating is a BatchState enum value
+ BatchStateCancelledTerminating = "cancelled_terminating"
+
+ // BatchStateModifying is a BatchState enum value
+ BatchStateModifying = "modifying"
+)
+
+const (
+ // BundleTaskStatePending is a BundleTaskState enum value
+ BundleTaskStatePending = "pending"
+
+ // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
+ BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
+
+ // BundleTaskStateBundling is a BundleTaskState enum value
+ BundleTaskStateBundling = "bundling"
+
+ // BundleTaskStateStoring is a BundleTaskState enum value
+ BundleTaskStateStoring = "storing"
+
+ // BundleTaskStateCancelling is a BundleTaskState enum value
+ BundleTaskStateCancelling = "cancelling"
+
+ // BundleTaskStateComplete is a BundleTaskState enum value
+ BundleTaskStateComplete = "complete"
+
+ // BundleTaskStateFailed is a BundleTaskState enum value
+ BundleTaskStateFailed = "failed"
+)
+
+const (
+ // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
+ CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
+
+ // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
+ CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
+
+ // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
+ CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
+
+ // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
+ CancelBatchErrorCodeUnexpectedError = "unexpectedError"
+)
+
+const (
+ // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
+ CancelSpotInstanceRequestStateActive = "active"
+
+ // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
+ CancelSpotInstanceRequestStateOpen = "open"
+
+ // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
+ CancelSpotInstanceRequestStateClosed = "closed"
+
+ // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
+ CancelSpotInstanceRequestStateCancelled = "cancelled"
+
+ // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
+ CancelSpotInstanceRequestStateCompleted = "completed"
+)
+
+const (
+ // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
+ ConnectionNotificationStateEnabled = "Enabled"
+
+ // ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
+ ConnectionNotificationStateDisabled = "Disabled"
+)
+
+const (
+ // ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
+ ConnectionNotificationTypeTopic = "Topic"
+)
+
+const (
+ // ContainerFormatOva is a ContainerFormat enum value
+ ContainerFormatOva = "ova"
+)
+
+const (
+ // ConversionTaskStateActive is a ConversionTaskState enum value
+ ConversionTaskStateActive = "active"
+
+ // ConversionTaskStateCancelling is a ConversionTaskState enum value
+ ConversionTaskStateCancelling = "cancelling"
+
+ // ConversionTaskStateCancelled is a ConversionTaskState enum value
+ ConversionTaskStateCancelled = "cancelled"
+
+ // ConversionTaskStateCompleted is a ConversionTaskState enum value
+ ConversionTaskStateCompleted = "completed"
+)
+
+const (
+ // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
+ CurrencyCodeValuesUsd = "USD"
+)
+
+const (
+ // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
+ DatafeedSubscriptionStateActive = "Active"
+
+ // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
+ DatafeedSubscriptionStateInactive = "Inactive"
+)
+
+const (
+ // DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
+ DefaultTargetCapacityTypeSpot = "spot"
+
+ // DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
+ DefaultTargetCapacityTypeOnDemand = "on-demand"
+)
+
+const (
+ // DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
+ DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
+
+ // DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
+ DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
+
+ // DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
+ DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
+
+ // DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
+ DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
+)
+
+const (
+ // DeviceTypeEbs is a DeviceType enum value
+ DeviceTypeEbs = "ebs"
+
+ // DeviceTypeInstanceStore is a DeviceType enum value
+ DeviceTypeInstanceStore = "instance-store"
+)
+
+const (
+ // DiskImageFormatVmdk is a DiskImageFormat enum value
+ DiskImageFormatVmdk = "VMDK"
+
+ // DiskImageFormatRaw is a DiskImageFormat enum value
+ DiskImageFormatRaw = "RAW"
+
+ // DiskImageFormatVhd is a DiskImageFormat enum value
+ DiskImageFormatVhd = "VHD"
+)
+
+const (
+ // DomainTypeVpc is a DomainType enum value
+ DomainTypeVpc = "vpc"
+
+ // DomainTypeStandard is a DomainType enum value
+ DomainTypeStandard = "standard"
+)
+
+const (
+ // ElasticGpuStateAttached is a ElasticGpuState enum value
+ ElasticGpuStateAttached = "ATTACHED"
+)
+
+const (
+ // ElasticGpuStatusOk is a ElasticGpuStatus enum value
+ ElasticGpuStatusOk = "OK"
+
+ // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
+ ElasticGpuStatusImpaired = "IMPAIRED"
+)
+
+const (
+ // EventCodeInstanceReboot is a EventCode enum value
+ EventCodeInstanceReboot = "instance-reboot"
+
+ // EventCodeSystemReboot is a EventCode enum value
+ EventCodeSystemReboot = "system-reboot"
+
+ // EventCodeSystemMaintenance is a EventCode enum value
+ EventCodeSystemMaintenance = "system-maintenance"
+
+ // EventCodeInstanceRetirement is a EventCode enum value
+ EventCodeInstanceRetirement = "instance-retirement"
+
+ // EventCodeInstanceStop is a EventCode enum value
+ EventCodeInstanceStop = "instance-stop"
+)
+
+const (
+ // EventTypeInstanceChange is a EventType enum value
+ EventTypeInstanceChange = "instanceChange"
+
+ // EventTypeFleetRequestChange is a EventType enum value
+ EventTypeFleetRequestChange = "fleetRequestChange"
+
+ // EventTypeError is a EventType enum value
+ EventTypeError = "error"
+)
+
+const (
+ // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
+ ExcessCapacityTerminationPolicyNoTermination = "noTermination"
+
+ // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
+ ExcessCapacityTerminationPolicyDefault = "default"
+)
+
+const (
+ // ExportEnvironmentCitrix is a ExportEnvironment enum value
+ ExportEnvironmentCitrix = "citrix"
+
+ // ExportEnvironmentVmware is a ExportEnvironment enum value
+ ExportEnvironmentVmware = "vmware"
+
+ // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
+ ExportEnvironmentMicrosoft = "microsoft"
+)
+
+const (
+ // ExportTaskStateActive is a ExportTaskState enum value
+ ExportTaskStateActive = "active"
+
+ // ExportTaskStateCancelling is a ExportTaskState enum value
+ ExportTaskStateCancelling = "cancelling"
+
+ // ExportTaskStateCancelled is a ExportTaskState enum value
+ ExportTaskStateCancelled = "cancelled"
+
+ // ExportTaskStateCompleted is a ExportTaskState enum value
+ ExportTaskStateCompleted = "completed"
+)
+
+const (
+ // FleetActivityStatusError is a FleetActivityStatus enum value
+ FleetActivityStatusError = "error"
+
+ // FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
+ FleetActivityStatusPendingFulfillment = "pending-fulfillment"
+
+ // FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
+ FleetActivityStatusPendingTermination = "pending-termination"
+
+ // FleetActivityStatusFulfilled is a FleetActivityStatus enum value
+ FleetActivityStatusFulfilled = "fulfilled"
+)
+
+const (
+ // FleetEventTypeInstanceChange is a FleetEventType enum value
+ FleetEventTypeInstanceChange = "instance-change"
+
+ // FleetEventTypeFleetChange is a FleetEventType enum value
+ FleetEventTypeFleetChange = "fleet-change"
+
+ // FleetEventTypeServiceError is a FleetEventType enum value
+ FleetEventTypeServiceError = "service-error"
+)
+
+const (
+ // FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
+ FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
+
+ // FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
+ FleetExcessCapacityTerminationPolicyTermination = "termination"
+)
+
+const (
+ // FleetStateCodeSubmitted is a FleetStateCode enum value
+ FleetStateCodeSubmitted = "submitted"
+
+ // FleetStateCodeActive is a FleetStateCode enum value
+ FleetStateCodeActive = "active"
+
+ // FleetStateCodeDeleted is a FleetStateCode enum value
+ FleetStateCodeDeleted = "deleted"
+
+ // FleetStateCodeFailed is a FleetStateCode enum value
+ FleetStateCodeFailed = "failed"
+
+ // FleetStateCodeDeletedRunning is a FleetStateCode enum value
+ FleetStateCodeDeletedRunning = "deleted-running"
+
+ // FleetStateCodeDeletedTerminating is a FleetStateCode enum value
+ FleetStateCodeDeletedTerminating = "deleted-terminating"
+
+ // FleetStateCodeModifying is a FleetStateCode enum value
+ FleetStateCodeModifying = "modifying"
+)
+
+const (
+ // FleetTypeRequest is a FleetType enum value
+ FleetTypeRequest = "request"
+
+ // FleetTypeMaintain is a FleetType enum value
+ FleetTypeMaintain = "maintain"
+)
+
+const (
+ // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
+ FlowLogsResourceTypeVpc = "VPC"
+
+ // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
+ FlowLogsResourceTypeSubnet = "Subnet"
+
+ // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
+ FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
+)
+
+const (
+ // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
+ FpgaImageAttributeNameDescription = "description"
+
+ // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
+ FpgaImageAttributeNameName = "name"
+
+ // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
+ FpgaImageAttributeNameLoadPermission = "loadPermission"
+
+ // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
+ FpgaImageAttributeNameProductCodes = "productCodes"
+)
+
+const (
+ // FpgaImageStateCodePending is a FpgaImageStateCode enum value
+ FpgaImageStateCodePending = "pending"
+
+ // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
+ FpgaImageStateCodeFailed = "failed"
+
+ // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
+ FpgaImageStateCodeAvailable = "available"
+
+ // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
+ FpgaImageStateCodeUnavailable = "unavailable"
+)
+
+const (
+ // GatewayTypeIpsec1 is a GatewayType enum value
+ GatewayTypeIpsec1 = "ipsec.1"
+)
+
+const (
+ // HostTenancyDedicated is a HostTenancy enum value
+ HostTenancyDedicated = "dedicated"
+
+ // HostTenancyHost is a HostTenancy enum value
+ HostTenancyHost = "host"
+)
+
+const (
+ // HypervisorTypeOvm is a HypervisorType enum value
+ HypervisorTypeOvm = "ovm"
+
+ // HypervisorTypeXen is a HypervisorType enum value
+ HypervisorTypeXen = "xen"
+)
+
+const (
+ // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
+ IamInstanceProfileAssociationStateAssociating = "associating"
+
+ // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
+ IamInstanceProfileAssociationStateAssociated = "associated"
+
+ // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
+ IamInstanceProfileAssociationStateDisassociating = "disassociating"
+
+ // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
+ IamInstanceProfileAssociationStateDisassociated = "disassociated"
+)
+
+const (
+ // ImageAttributeNameDescription is a ImageAttributeName enum value
+ ImageAttributeNameDescription = "description"
+
+ // ImageAttributeNameKernel is a ImageAttributeName enum value
+ ImageAttributeNameKernel = "kernel"
+
+ // ImageAttributeNameRamdisk is a ImageAttributeName enum value
+ ImageAttributeNameRamdisk = "ramdisk"
+
+ // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
+ ImageAttributeNameLaunchPermission = "launchPermission"
+
+ // ImageAttributeNameProductCodes is a ImageAttributeName enum value
+ ImageAttributeNameProductCodes = "productCodes"
+
+ // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
+ ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
+
+ // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
+ ImageAttributeNameSriovNetSupport = "sriovNetSupport"
+)
+
+const (
+ // ImageStatePending is a ImageState enum value
+ ImageStatePending = "pending"
+
+ // ImageStateAvailable is a ImageState enum value
+ ImageStateAvailable = "available"
+
+ // ImageStateInvalid is a ImageState enum value
+ ImageStateInvalid = "invalid"
+
+ // ImageStateDeregistered is a ImageState enum value
+ ImageStateDeregistered = "deregistered"
+
+ // ImageStateTransient is a ImageState enum value
+ ImageStateTransient = "transient"
+
+ // ImageStateFailed is a ImageState enum value
+ ImageStateFailed = "failed"
+
+ // ImageStateError is a ImageState enum value
+ ImageStateError = "error"
+)
+
+const (
+ // ImageTypeValuesMachine is a ImageTypeValues enum value
+ ImageTypeValuesMachine = "machine"
+
+ // ImageTypeValuesKernel is a ImageTypeValues enum value
+ ImageTypeValuesKernel = "kernel"
+
+ // ImageTypeValuesRamdisk is a ImageTypeValues enum value
+ ImageTypeValuesRamdisk = "ramdisk"
+)
+
+const (
+ // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
+ InstanceAttributeNameInstanceType = "instanceType"
+
+ // InstanceAttributeNameKernel is a InstanceAttributeName enum value
+ InstanceAttributeNameKernel = "kernel"
+
+ // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
+ InstanceAttributeNameRamdisk = "ramdisk"
+
+ // InstanceAttributeNameUserData is a InstanceAttributeName enum value
+ InstanceAttributeNameUserData = "userData"
+
+ // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
+ InstanceAttributeNameDisableApiTermination = "disableApiTermination"
+
+ // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
+ InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
+
+ // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
+ InstanceAttributeNameRootDeviceName = "rootDeviceName"
+
+ // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
+ InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
+
+ // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
+ InstanceAttributeNameProductCodes = "productCodes"
+
+ // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
+ InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
+
+ // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
+ InstanceAttributeNameGroupSet = "groupSet"
+
+ // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
+ InstanceAttributeNameEbsOptimized = "ebsOptimized"
+
+ // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
+ InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
+
+ // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
+ InstanceAttributeNameEnaSupport = "enaSupport"
+)
+
+const (
+ // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
+ InstanceHealthStatusHealthy = "healthy"
+
+ // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
+ InstanceHealthStatusUnhealthy = "unhealthy"
+)
+
+const (
+ // InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
+ InstanceInterruptionBehaviorHibernate = "hibernate"
+
+ // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
+ InstanceInterruptionBehaviorStop = "stop"
+
+ // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
+ InstanceInterruptionBehaviorTerminate = "terminate"
+)
+
+const (
+ // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
+ InstanceLifecycleTypeSpot = "spot"
+
+ // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
+ InstanceLifecycleTypeScheduled = "scheduled"
+)
+
+const (
+ // InstanceStateNamePending is a InstanceStateName enum value
+ InstanceStateNamePending = "pending"
+
+ // InstanceStateNameRunning is a InstanceStateName enum value
+ InstanceStateNameRunning = "running"
+
+ // InstanceStateNameShuttingDown is a InstanceStateName enum value
+ InstanceStateNameShuttingDown = "shutting-down"
+
+ // InstanceStateNameTerminated is a InstanceStateName enum value
+ InstanceStateNameTerminated = "terminated"
+
+ // InstanceStateNameStopping is a InstanceStateName enum value
+ InstanceStateNameStopping = "stopping"
+
+ // InstanceStateNameStopped is a InstanceStateName enum value
+ InstanceStateNameStopped = "stopped"
+)
+
+const (
+ // InstanceTypeT1Micro is a InstanceType enum value
+ InstanceTypeT1Micro = "t1.micro"
+
+ // InstanceTypeT2Nano is a InstanceType enum value
+ InstanceTypeT2Nano = "t2.nano"
+
+ // InstanceTypeT2Micro is a InstanceType enum value
+ InstanceTypeT2Micro = "t2.micro"
+
+ // InstanceTypeT2Small is a InstanceType enum value
+ InstanceTypeT2Small = "t2.small"
+
+ // InstanceTypeT2Medium is a InstanceType enum value
+ InstanceTypeT2Medium = "t2.medium"
+
+ // InstanceTypeT2Large is a InstanceType enum value
+ InstanceTypeT2Large = "t2.large"
+
+ // InstanceTypeT2Xlarge is a InstanceType enum value
+ InstanceTypeT2Xlarge = "t2.xlarge"
+
+ // InstanceTypeT22xlarge is a InstanceType enum value
+ InstanceTypeT22xlarge = "t2.2xlarge"
+
+ // InstanceTypeM1Small is a InstanceType enum value
+ InstanceTypeM1Small = "m1.small"
+
+ // InstanceTypeM1Medium is a InstanceType enum value
+ InstanceTypeM1Medium = "m1.medium"
+
+ // InstanceTypeM1Large is a InstanceType enum value
+ InstanceTypeM1Large = "m1.large"
+
+ // InstanceTypeM1Xlarge is a InstanceType enum value
+ InstanceTypeM1Xlarge = "m1.xlarge"
+
+ // InstanceTypeM3Medium is a InstanceType enum value
+ InstanceTypeM3Medium = "m3.medium"
+
+ // InstanceTypeM3Large is a InstanceType enum value
+ InstanceTypeM3Large = "m3.large"
+
+ // InstanceTypeM3Xlarge is a InstanceType enum value
+ InstanceTypeM3Xlarge = "m3.xlarge"
+
+ // InstanceTypeM32xlarge is a InstanceType enum value
+ InstanceTypeM32xlarge = "m3.2xlarge"
+
+ // InstanceTypeM4Large is a InstanceType enum value
+ InstanceTypeM4Large = "m4.large"
+
+ // InstanceTypeM4Xlarge is a InstanceType enum value
+ InstanceTypeM4Xlarge = "m4.xlarge"
+
+ // InstanceTypeM42xlarge is a InstanceType enum value
+ InstanceTypeM42xlarge = "m4.2xlarge"
+
+ // InstanceTypeM44xlarge is a InstanceType enum value
+ InstanceTypeM44xlarge = "m4.4xlarge"
+
+ // InstanceTypeM410xlarge is a InstanceType enum value
+ InstanceTypeM410xlarge = "m4.10xlarge"
+
+ // InstanceTypeM416xlarge is a InstanceType enum value
+ InstanceTypeM416xlarge = "m4.16xlarge"
+
+ // InstanceTypeM2Xlarge is a InstanceType enum value
+ InstanceTypeM2Xlarge = "m2.xlarge"
+
+ // InstanceTypeM22xlarge is a InstanceType enum value
+ InstanceTypeM22xlarge = "m2.2xlarge"
+
+ // InstanceTypeM24xlarge is a InstanceType enum value
+ InstanceTypeM24xlarge = "m2.4xlarge"
+
+ // InstanceTypeCr18xlarge is a InstanceType enum value
+ InstanceTypeCr18xlarge = "cr1.8xlarge"
+
+ // InstanceTypeR3Large is a InstanceType enum value
+ InstanceTypeR3Large = "r3.large"
+
+ // InstanceTypeR3Xlarge is a InstanceType enum value
+ InstanceTypeR3Xlarge = "r3.xlarge"
+
+ // InstanceTypeR32xlarge is a InstanceType enum value
+ InstanceTypeR32xlarge = "r3.2xlarge"
+
+ // InstanceTypeR34xlarge is a InstanceType enum value
+ InstanceTypeR34xlarge = "r3.4xlarge"
+
+ // InstanceTypeR38xlarge is a InstanceType enum value
+ InstanceTypeR38xlarge = "r3.8xlarge"
+
+ // InstanceTypeR4Large is a InstanceType enum value
+ InstanceTypeR4Large = "r4.large"
+
+ // InstanceTypeR4Xlarge is a InstanceType enum value
+ InstanceTypeR4Xlarge = "r4.xlarge"
+
+ // InstanceTypeR42xlarge is a InstanceType enum value
+ InstanceTypeR42xlarge = "r4.2xlarge"
+
+ // InstanceTypeR44xlarge is a InstanceType enum value
+ InstanceTypeR44xlarge = "r4.4xlarge"
+
+ // InstanceTypeR48xlarge is a InstanceType enum value
+ InstanceTypeR48xlarge = "r4.8xlarge"
+
+ // InstanceTypeR416xlarge is a InstanceType enum value
+ InstanceTypeR416xlarge = "r4.16xlarge"
+
+ // InstanceTypeX116xlarge is a InstanceType enum value
+ InstanceTypeX116xlarge = "x1.16xlarge"
+
+ // InstanceTypeX132xlarge is a InstanceType enum value
+ InstanceTypeX132xlarge = "x1.32xlarge"
+
+ // InstanceTypeX1eXlarge is a InstanceType enum value
+ InstanceTypeX1eXlarge = "x1e.xlarge"
+
+ // InstanceTypeX1e2xlarge is a InstanceType enum value
+ InstanceTypeX1e2xlarge = "x1e.2xlarge"
+
+ // InstanceTypeX1e4xlarge is a InstanceType enum value
+ InstanceTypeX1e4xlarge = "x1e.4xlarge"
+
+ // InstanceTypeX1e8xlarge is a InstanceType enum value
+ InstanceTypeX1e8xlarge = "x1e.8xlarge"
+
+ // InstanceTypeX1e16xlarge is a InstanceType enum value
+ InstanceTypeX1e16xlarge = "x1e.16xlarge"
+
+ // InstanceTypeX1e32xlarge is a InstanceType enum value
+ InstanceTypeX1e32xlarge = "x1e.32xlarge"
+
+ // InstanceTypeI2Xlarge is a InstanceType enum value
+ InstanceTypeI2Xlarge = "i2.xlarge"
+
+ // InstanceTypeI22xlarge is a InstanceType enum value
+ InstanceTypeI22xlarge = "i2.2xlarge"
+
+ // InstanceTypeI24xlarge is a InstanceType enum value
+ InstanceTypeI24xlarge = "i2.4xlarge"
+
+ // InstanceTypeI28xlarge is a InstanceType enum value
+ InstanceTypeI28xlarge = "i2.8xlarge"
+
+ // InstanceTypeI3Large is a InstanceType enum value
+ InstanceTypeI3Large = "i3.large"
+
+ // InstanceTypeI3Xlarge is a InstanceType enum value
+ InstanceTypeI3Xlarge = "i3.xlarge"
+
+ // InstanceTypeI32xlarge is a InstanceType enum value
+ InstanceTypeI32xlarge = "i3.2xlarge"
+
+ // InstanceTypeI34xlarge is a InstanceType enum value
+ InstanceTypeI34xlarge = "i3.4xlarge"
+
+ // InstanceTypeI38xlarge is a InstanceType enum value
+ InstanceTypeI38xlarge = "i3.8xlarge"
+
+ // InstanceTypeI316xlarge is a InstanceType enum value
+ InstanceTypeI316xlarge = "i3.16xlarge"
+
+ // InstanceTypeI3Metal is a InstanceType enum value
+ InstanceTypeI3Metal = "i3.metal"
+
+ // InstanceTypeHi14xlarge is a InstanceType enum value
+ InstanceTypeHi14xlarge = "hi1.4xlarge"
+
+ // InstanceTypeHs18xlarge is a InstanceType enum value
+ InstanceTypeHs18xlarge = "hs1.8xlarge"
+
+ // InstanceTypeC1Medium is a InstanceType enum value
+ InstanceTypeC1Medium = "c1.medium"
+
+ // InstanceTypeC1Xlarge is a InstanceType enum value
+ InstanceTypeC1Xlarge = "c1.xlarge"
+
+ // InstanceTypeC3Large is a InstanceType enum value
+ InstanceTypeC3Large = "c3.large"
+
+ // InstanceTypeC3Xlarge is a InstanceType enum value
+ InstanceTypeC3Xlarge = "c3.xlarge"
+
+ // InstanceTypeC32xlarge is a InstanceType enum value
+ InstanceTypeC32xlarge = "c3.2xlarge"
+
+ // InstanceTypeC34xlarge is a InstanceType enum value
+ InstanceTypeC34xlarge = "c3.4xlarge"
+
+ // InstanceTypeC38xlarge is a InstanceType enum value
+ InstanceTypeC38xlarge = "c3.8xlarge"
+
+ // InstanceTypeC4Large is a InstanceType enum value
+ InstanceTypeC4Large = "c4.large"
+
+ // InstanceTypeC4Xlarge is a InstanceType enum value
+ InstanceTypeC4Xlarge = "c4.xlarge"
+
+ // InstanceTypeC42xlarge is a InstanceType enum value
+ InstanceTypeC42xlarge = "c4.2xlarge"
+
+ // InstanceTypeC44xlarge is a InstanceType enum value
+ InstanceTypeC44xlarge = "c4.4xlarge"
+
+ // InstanceTypeC48xlarge is a InstanceType enum value
+ InstanceTypeC48xlarge = "c4.8xlarge"
+
+ // InstanceTypeC5Large is a InstanceType enum value
+ InstanceTypeC5Large = "c5.large"
+
+ // InstanceTypeC5Xlarge is a InstanceType enum value
+ InstanceTypeC5Xlarge = "c5.xlarge"
+
+ // InstanceTypeC52xlarge is a InstanceType enum value
+ InstanceTypeC52xlarge = "c5.2xlarge"
+
+ // InstanceTypeC54xlarge is a InstanceType enum value
+ InstanceTypeC54xlarge = "c5.4xlarge"
+
+ // InstanceTypeC59xlarge is a InstanceType enum value
+ InstanceTypeC59xlarge = "c5.9xlarge"
+
+ // InstanceTypeC518xlarge is a InstanceType enum value
+ InstanceTypeC518xlarge = "c5.18xlarge"
+
+ // InstanceTypeC5dLarge is a InstanceType enum value
+ InstanceTypeC5dLarge = "c5d.large"
+
+ // InstanceTypeC5dXlarge is a InstanceType enum value
+ InstanceTypeC5dXlarge = "c5d.xlarge"
+
+ // InstanceTypeC5d2xlarge is a InstanceType enum value
+ InstanceTypeC5d2xlarge = "c5d.2xlarge"
+
+ // InstanceTypeC5d4xlarge is a InstanceType enum value
+ InstanceTypeC5d4xlarge = "c5d.4xlarge"
+
+ // InstanceTypeC5d9xlarge is a InstanceType enum value
+ InstanceTypeC5d9xlarge = "c5d.9xlarge"
+
+ // InstanceTypeC5d18xlarge is a InstanceType enum value
+ InstanceTypeC5d18xlarge = "c5d.18xlarge"
+
+ // InstanceTypeCc14xlarge is a InstanceType enum value
+ InstanceTypeCc14xlarge = "cc1.4xlarge"
+
+ // InstanceTypeCc28xlarge is a InstanceType enum value
+ InstanceTypeCc28xlarge = "cc2.8xlarge"
+
+ // InstanceTypeG22xlarge is a InstanceType enum value
+ InstanceTypeG22xlarge = "g2.2xlarge"
+
+ // InstanceTypeG28xlarge is a InstanceType enum value
+ InstanceTypeG28xlarge = "g2.8xlarge"
+
+ // InstanceTypeG34xlarge is a InstanceType enum value
+ InstanceTypeG34xlarge = "g3.4xlarge"
+
+ // InstanceTypeG38xlarge is a InstanceType enum value
+ InstanceTypeG38xlarge = "g3.8xlarge"
+
+ // InstanceTypeG316xlarge is a InstanceType enum value
+ InstanceTypeG316xlarge = "g3.16xlarge"
+
+ // InstanceTypeCg14xlarge is a InstanceType enum value
+ InstanceTypeCg14xlarge = "cg1.4xlarge"
+
+ // InstanceTypeP2Xlarge is a InstanceType enum value
+ InstanceTypeP2Xlarge = "p2.xlarge"
+
+ // InstanceTypeP28xlarge is a InstanceType enum value
+ InstanceTypeP28xlarge = "p2.8xlarge"
+
+ // InstanceTypeP216xlarge is a InstanceType enum value
+ InstanceTypeP216xlarge = "p2.16xlarge"
+
+ // InstanceTypeP32xlarge is a InstanceType enum value
+ InstanceTypeP32xlarge = "p3.2xlarge"
+
+ // InstanceTypeP38xlarge is a InstanceType enum value
+ InstanceTypeP38xlarge = "p3.8xlarge"
+
+ // InstanceTypeP316xlarge is a InstanceType enum value
+ InstanceTypeP316xlarge = "p3.16xlarge"
+
+ // InstanceTypeD2Xlarge is a InstanceType enum value
+ InstanceTypeD2Xlarge = "d2.xlarge"
+
+ // InstanceTypeD22xlarge is a InstanceType enum value
+ InstanceTypeD22xlarge = "d2.2xlarge"
+
+ // InstanceTypeD24xlarge is a InstanceType enum value
+ InstanceTypeD24xlarge = "d2.4xlarge"
+
+ // InstanceTypeD28xlarge is a InstanceType enum value
+ InstanceTypeD28xlarge = "d2.8xlarge"
+
+ // InstanceTypeF12xlarge is a InstanceType enum value
+ InstanceTypeF12xlarge = "f1.2xlarge"
+
+ // InstanceTypeF116xlarge is a InstanceType enum value
+ InstanceTypeF116xlarge = "f1.16xlarge"
+
+ // InstanceTypeM5Large is a InstanceType enum value
+ InstanceTypeM5Large = "m5.large"
+
+ // InstanceTypeM5Xlarge is a InstanceType enum value
+ InstanceTypeM5Xlarge = "m5.xlarge"
+
+ // InstanceTypeM52xlarge is a InstanceType enum value
+ InstanceTypeM52xlarge = "m5.2xlarge"
+
+ // InstanceTypeM54xlarge is a InstanceType enum value
+ InstanceTypeM54xlarge = "m5.4xlarge"
+
+ // InstanceTypeM512xlarge is a InstanceType enum value
+ InstanceTypeM512xlarge = "m5.12xlarge"
+
+ // InstanceTypeM524xlarge is a InstanceType enum value
+ InstanceTypeM524xlarge = "m5.24xlarge"
+
+ // InstanceTypeM5dLarge is a InstanceType enum value
+ InstanceTypeM5dLarge = "m5d.large"
+
+ // InstanceTypeM5dXlarge is a InstanceType enum value
+ InstanceTypeM5dXlarge = "m5d.xlarge"
+
+ // InstanceTypeM5d2xlarge is a InstanceType enum value
+ InstanceTypeM5d2xlarge = "m5d.2xlarge"
+
+ // InstanceTypeM5d4xlarge is a InstanceType enum value
+ InstanceTypeM5d4xlarge = "m5d.4xlarge"
+
+ // InstanceTypeM5d12xlarge is a InstanceType enum value
+ InstanceTypeM5d12xlarge = "m5d.12xlarge"
+
+ // InstanceTypeM5d24xlarge is a InstanceType enum value
+ InstanceTypeM5d24xlarge = "m5d.24xlarge"
+
+ // InstanceTypeH12xlarge is a InstanceType enum value
+ InstanceTypeH12xlarge = "h1.2xlarge"
+
+ // InstanceTypeH14xlarge is a InstanceType enum value
+ InstanceTypeH14xlarge = "h1.4xlarge"
+
+ // InstanceTypeH18xlarge is a InstanceType enum value
+ InstanceTypeH18xlarge = "h1.8xlarge"
+
+ // InstanceTypeH116xlarge is a InstanceType enum value
+ InstanceTypeH116xlarge = "h1.16xlarge"
+)
+
+const (
+ // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
+ InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
+
+ // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
+ InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
+)
+
+const (
+ // LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
+
+ // LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
+
+ // LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
+
+ // LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
+
+ // LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
+
+ // LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
+ LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
+)
+
+const (
+ // ListingStateAvailable is a ListingState enum value
+ ListingStateAvailable = "available"
+
+ // ListingStateSold is a ListingState enum value
+ ListingStateSold = "sold"
+
+ // ListingStateCancelled is a ListingState enum value
+ ListingStateCancelled = "cancelled"
+
+ // ListingStatePending is a ListingState enum value
+ ListingStatePending = "pending"
+)
+
+const (
+ // ListingStatusActive is a ListingStatus enum value
+ ListingStatusActive = "active"
+
+ // ListingStatusPending is a ListingStatus enum value
+ ListingStatusPending = "pending"
+
+ // ListingStatusCancelled is a ListingStatus enum value
+ ListingStatusCancelled = "cancelled"
+
+ // ListingStatusClosed is a ListingStatus enum value
+ ListingStatusClosed = "closed"
+)
+
+const (
+ // MarketTypeSpot is a MarketType enum value
+ MarketTypeSpot = "spot"
+)
+
+const (
+ // MonitoringStateDisabled is a MonitoringState enum value
+ MonitoringStateDisabled = "disabled"
+
+ // MonitoringStateDisabling is a MonitoringState enum value
+ MonitoringStateDisabling = "disabling"
+
+ // MonitoringStateEnabled is a MonitoringState enum value
+ MonitoringStateEnabled = "enabled"
+
+ // MonitoringStatePending is a MonitoringState enum value
+ MonitoringStatePending = "pending"
+)
+
+const (
+ // MoveStatusMovingToVpc is a MoveStatus enum value
+ MoveStatusMovingToVpc = "movingToVpc"
+
+ // MoveStatusRestoringToClassic is a MoveStatus enum value
+ MoveStatusRestoringToClassic = "restoringToClassic"
+)
+
+const (
+ // NatGatewayStatePending is a NatGatewayState enum value
+ NatGatewayStatePending = "pending"
+
+ // NatGatewayStateFailed is a NatGatewayState enum value
+ NatGatewayStateFailed = "failed"
+
+ // NatGatewayStateAvailable is a NatGatewayState enum value
+ NatGatewayStateAvailable = "available"
+
+ // NatGatewayStateDeleting is a NatGatewayState enum value
+ NatGatewayStateDeleting = "deleting"
+
+ // NatGatewayStateDeleted is a NatGatewayState enum value
+ NatGatewayStateDeleted = "deleted"
+)
+
+const (
+ // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
+ NetworkInterfaceAttributeDescription = "description"
+
+ // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
+ NetworkInterfaceAttributeGroupSet = "groupSet"
+
+ // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
+ NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
+
+ // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
+ NetworkInterfaceAttributeAttachment = "attachment"
+)
+
+const (
+ // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodePending = "pending"
+
+ // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeGranted = "granted"
+
+ // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeRevoking = "revoking"
+
+ // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeRevoked = "revoked"
+)
+
+const (
+ // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
+ NetworkInterfaceStatusAvailable = "available"
+
+ // NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
+ NetworkInterfaceStatusAssociated = "associated"
+
+ // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
+ NetworkInterfaceStatusAttaching = "attaching"
+
+ // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
+ NetworkInterfaceStatusInUse = "in-use"
+
+ // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
+ NetworkInterfaceStatusDetaching = "detaching"
+)
+
+const (
+ // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
+ NetworkInterfaceTypeInterface = "interface"
+
+ // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
+ NetworkInterfaceTypeNatGateway = "natGateway"
+)
+
+const (
+ // OfferingClassTypeStandard is a OfferingClassType enum value
+ OfferingClassTypeStandard = "standard"
+
+ // OfferingClassTypeConvertible is a OfferingClassType enum value
+ OfferingClassTypeConvertible = "convertible"
+)
+
+const (
+ // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
+ OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
+
+ // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
+ OfferingTypeValuesMediumUtilization = "Medium Utilization"
+
+ // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
+ OfferingTypeValuesLightUtilization = "Light Utilization"
+
+ // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
+ OfferingTypeValuesNoUpfront = "No Upfront"
+
+ // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
+ OfferingTypeValuesPartialUpfront = "Partial Upfront"
+
+ // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
+ OfferingTypeValuesAllUpfront = "All Upfront"
+)
+
+const (
+ // OperationTypeAdd is a OperationType enum value
+ OperationTypeAdd = "add"
+
+ // OperationTypeRemove is a OperationType enum value
+ OperationTypeRemove = "remove"
+)
+
+const (
+ // PaymentOptionAllUpfront is a PaymentOption enum value
+ PaymentOptionAllUpfront = "AllUpfront"
+
+ // PaymentOptionPartialUpfront is a PaymentOption enum value
+ PaymentOptionPartialUpfront = "PartialUpfront"
+
+ // PaymentOptionNoUpfront is a PaymentOption enum value
+ PaymentOptionNoUpfront = "NoUpfront"
+)
+
+const (
+ // PermissionGroupAll is a PermissionGroup enum value
+ PermissionGroupAll = "all"
+)
+
+const (
+ // PlacementGroupStatePending is a PlacementGroupState enum value
+ PlacementGroupStatePending = "pending"
+
+ // PlacementGroupStateAvailable is a PlacementGroupState enum value
+ PlacementGroupStateAvailable = "available"
+
+ // PlacementGroupStateDeleting is a PlacementGroupState enum value
+ PlacementGroupStateDeleting = "deleting"
+
+ // PlacementGroupStateDeleted is a PlacementGroupState enum value
+ PlacementGroupStateDeleted = "deleted"
+)
+
+const (
+ // PlacementStrategyCluster is a PlacementStrategy enum value
+ PlacementStrategyCluster = "cluster"
+
+ // PlacementStrategySpread is a PlacementStrategy enum value
+ PlacementStrategySpread = "spread"
+)
+
+const (
+ // PlatformValuesWindows is a PlatformValues enum value
+ PlatformValuesWindows = "Windows"
+)
+
+const (
+ // PrincipalTypeAll is a PrincipalType enum value
+ PrincipalTypeAll = "All"
+
+ // PrincipalTypeService is a PrincipalType enum value
+ PrincipalTypeService = "Service"
+
+ // PrincipalTypeOrganizationUnit is a PrincipalType enum value
+ PrincipalTypeOrganizationUnit = "OrganizationUnit"
+
+ // PrincipalTypeAccount is a PrincipalType enum value
+ PrincipalTypeAccount = "Account"
+
+ // PrincipalTypeUser is a PrincipalType enum value
+ PrincipalTypeUser = "User"
+
+ // PrincipalTypeRole is a PrincipalType enum value
+ PrincipalTypeRole = "Role"
+)
+
+const (
+ // ProductCodeValuesDevpay is a ProductCodeValues enum value
+ ProductCodeValuesDevpay = "devpay"
+
+ // ProductCodeValuesMarketplace is a ProductCodeValues enum value
+ ProductCodeValuesMarketplace = "marketplace"
+)
+
+const (
+ // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
+ RIProductDescriptionLinuxUnix = "Linux/UNIX"
+
+ // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
+ RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
+
+ // RIProductDescriptionWindows is a RIProductDescription enum value
+ RIProductDescriptionWindows = "Windows"
+
+ // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
+ RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
+)
+
+const (
+ // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
+ RecurringChargeFrequencyHourly = "Hourly"
+)
+
+const (
+ // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
+
+ // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesUnresponsive = "unresponsive"
+
+ // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
+
+ // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
+
+ // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
+
+ // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
+
+ // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
+
+ // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesPerformanceOther = "performance-other"
+
+ // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
+ ReportInstanceReasonCodesOther = "other"
+)
+
+const (
+ // ReportStatusTypeOk is a ReportStatusType enum value
+ ReportStatusTypeOk = "ok"
+
+ // ReportStatusTypeImpaired is a ReportStatusType enum value
+ ReportStatusTypeImpaired = "impaired"
+)
+
+const (
+ // ReservationStatePaymentPending is a ReservationState enum value
+ ReservationStatePaymentPending = "payment-pending"
+
+ // ReservationStatePaymentFailed is a ReservationState enum value
+ ReservationStatePaymentFailed = "payment-failed"
+
+ // ReservationStateActive is a ReservationState enum value
+ ReservationStateActive = "active"
+
+ // ReservationStateRetired is a ReservationState enum value
+ ReservationStateRetired = "retired"
+)
+
+const (
+ // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
+ ReservedInstanceStatePaymentPending = "payment-pending"
+
+ // ReservedInstanceStateActive is a ReservedInstanceState enum value
+ ReservedInstanceStateActive = "active"
+
+ // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
+ ReservedInstanceStatePaymentFailed = "payment-failed"
+
+ // ReservedInstanceStateRetired is a ReservedInstanceState enum value
+ ReservedInstanceStateRetired = "retired"
+)
+
+const (
+ // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
+ ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
+)
+
+const (
+ // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
+ ResetImageAttributeNameLaunchPermission = "launchPermission"
+)
+
+const (
+ // ResourceTypeCustomerGateway is a ResourceType enum value
+ ResourceTypeCustomerGateway = "customer-gateway"
+
+ // ResourceTypeDhcpOptions is a ResourceType enum value
+ ResourceTypeDhcpOptions = "dhcp-options"
+
+ // ResourceTypeImage is a ResourceType enum value
+ ResourceTypeImage = "image"
+
+ // ResourceTypeInstance is a ResourceType enum value
+ ResourceTypeInstance = "instance"
+
+ // ResourceTypeInternetGateway is a ResourceType enum value
+ ResourceTypeInternetGateway = "internet-gateway"
+
+ // ResourceTypeNetworkAcl is a ResourceType enum value
+ ResourceTypeNetworkAcl = "network-acl"
+
+ // ResourceTypeNetworkInterface is a ResourceType enum value
+ ResourceTypeNetworkInterface = "network-interface"
+
+ // ResourceTypeReservedInstances is a ResourceType enum value
+ ResourceTypeReservedInstances = "reserved-instances"
+
+ // ResourceTypeRouteTable is a ResourceType enum value
+ ResourceTypeRouteTable = "route-table"
+
+ // ResourceTypeSnapshot is a ResourceType enum value
+ ResourceTypeSnapshot = "snapshot"
+
+ // ResourceTypeSpotInstancesRequest is a ResourceType enum value
+ ResourceTypeSpotInstancesRequest = "spot-instances-request"
+
+ // ResourceTypeSubnet is a ResourceType enum value
+ ResourceTypeSubnet = "subnet"
+
+ // ResourceTypeSecurityGroup is a ResourceType enum value
+ ResourceTypeSecurityGroup = "security-group"
+
+ // ResourceTypeVolume is a ResourceType enum value
+ ResourceTypeVolume = "volume"
+
+ // ResourceTypeVpc is a ResourceType enum value
+ ResourceTypeVpc = "vpc"
+
+ // ResourceTypeVpnConnection is a ResourceType enum value
+ ResourceTypeVpnConnection = "vpn-connection"
+
+ // ResourceTypeVpnGateway is a ResourceType enum value
+ ResourceTypeVpnGateway = "vpn-gateway"
+)
+
+const (
+ // RouteOriginCreateRouteTable is a RouteOrigin enum value
+ RouteOriginCreateRouteTable = "CreateRouteTable"
+
+ // RouteOriginCreateRoute is a RouteOrigin enum value
+ RouteOriginCreateRoute = "CreateRoute"
+
+ // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
+ RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
+)
+
+const (
+ // RouteStateActive is a RouteState enum value
+ RouteStateActive = "active"
+
+ // RouteStateBlackhole is a RouteState enum value
+ RouteStateBlackhole = "blackhole"
+)
+
+const (
+ // RuleActionAllow is a RuleAction enum value
+ RuleActionAllow = "allow"
+
+ // RuleActionDeny is a RuleAction enum value
+ RuleActionDeny = "deny"
+)
+
+const (
+ // ServiceStatePending is a ServiceState enum value
+ ServiceStatePending = "Pending"
+
+ // ServiceStateAvailable is a ServiceState enum value
+ ServiceStateAvailable = "Available"
+
+ // ServiceStateDeleting is a ServiceState enum value
+ ServiceStateDeleting = "Deleting"
+
+ // ServiceStateDeleted is a ServiceState enum value
+ ServiceStateDeleted = "Deleted"
+
+ // ServiceStateFailed is a ServiceState enum value
+ ServiceStateFailed = "Failed"
+)
+
+const (
+ // ServiceTypeInterface is a ServiceType enum value
+ ServiceTypeInterface = "Interface"
+
+ // ServiceTypeGateway is a ServiceType enum value
+ ServiceTypeGateway = "Gateway"
+)
+
+const (
+ // ShutdownBehaviorStop is a ShutdownBehavior enum value
+ ShutdownBehaviorStop = "stop"
+
+ // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
+ ShutdownBehaviorTerminate = "terminate"
+)
+
+const (
+ // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
+ SnapshotAttributeNameProductCodes = "productCodes"
+
+ // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
+ SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
+)
+
+const (
+ // SnapshotStatePending is a SnapshotState enum value
+ SnapshotStatePending = "pending"
+
+ // SnapshotStateCompleted is a SnapshotState enum value
+ SnapshotStateCompleted = "completed"
+
+ // SnapshotStateError is a SnapshotState enum value
+ SnapshotStateError = "error"
+)
+
+const (
+ // SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
+ SpotAllocationStrategyLowestPrice = "lowest-price"
+
+ // SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
+ SpotAllocationStrategyDiversified = "diversified"
+)
+
+const (
+ // SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
+ SpotInstanceInterruptionBehaviorHibernate = "hibernate"
+
+ // SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
+ SpotInstanceInterruptionBehaviorStop = "stop"
+
+ // SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
+ SpotInstanceInterruptionBehaviorTerminate = "terminate"
+)
+
+const (
+ // SpotInstanceStateOpen is a SpotInstanceState enum value
+ SpotInstanceStateOpen = "open"
+
+ // SpotInstanceStateActive is a SpotInstanceState enum value
+ SpotInstanceStateActive = "active"
+
+ // SpotInstanceStateClosed is a SpotInstanceState enum value
+ SpotInstanceStateClosed = "closed"
+
+ // SpotInstanceStateCancelled is a SpotInstanceState enum value
+ SpotInstanceStateCancelled = "cancelled"
+
+ // SpotInstanceStateFailed is a SpotInstanceState enum value
+ SpotInstanceStateFailed = "failed"
+)
+
+const (
+ // SpotInstanceTypeOneTime is a SpotInstanceType enum value
+ SpotInstanceTypeOneTime = "one-time"
+
+ // SpotInstanceTypePersistent is a SpotInstanceType enum value
+ SpotInstanceTypePersistent = "persistent"
+)
+
+const (
+ // StatePendingAcceptance is a State enum value
+ StatePendingAcceptance = "PendingAcceptance"
+
+ // StatePending is a State enum value
+ StatePending = "Pending"
+
+ // StateAvailable is a State enum value
+ StateAvailable = "Available"
+
+ // StateDeleting is a State enum value
+ StateDeleting = "Deleting"
+
+ // StateDeleted is a State enum value
+ StateDeleted = "Deleted"
+
+ // StateRejected is a State enum value
+ StateRejected = "Rejected"
+
+ // StateFailed is a State enum value
+ StateFailed = "Failed"
+
+ // StateExpired is a State enum value
+ StateExpired = "Expired"
+)
+
+const (
+ // StatusMoveInProgress is a Status enum value
+ StatusMoveInProgress = "MoveInProgress"
+
+ // StatusInVpc is a Status enum value
+ StatusInVpc = "InVpc"
+
+ // StatusInClassic is a Status enum value
+ StatusInClassic = "InClassic"
+)
+
+const (
+ // StatusNameReachability is a StatusName enum value
+ StatusNameReachability = "reachability"
+)
+
+const (
+ // StatusTypePassed is a StatusType enum value
+ StatusTypePassed = "passed"
+
+ // StatusTypeFailed is a StatusType enum value
+ StatusTypeFailed = "failed"
+
+ // StatusTypeInsufficientData is a StatusType enum value
+ StatusTypeInsufficientData = "insufficient-data"
+
+ // StatusTypeInitializing is a StatusType enum value
+ StatusTypeInitializing = "initializing"
+)
+
+const (
+ // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeAssociating = "associating"
+
+ // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeAssociated = "associated"
+
+ // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeDisassociating = "disassociating"
+
+ // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeDisassociated = "disassociated"
+
+ // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeFailing = "failing"
+
+ // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
+ SubnetCidrBlockStateCodeFailed = "failed"
+)
+
+const (
+ // SubnetStatePending is a SubnetState enum value
+ SubnetStatePending = "pending"
+
+ // SubnetStateAvailable is a SubnetState enum value
+ SubnetStateAvailable = "available"
+)
+
+const (
+ // SummaryStatusOk is a SummaryStatus enum value
+ SummaryStatusOk = "ok"
+
+ // SummaryStatusImpaired is a SummaryStatus enum value
+ SummaryStatusImpaired = "impaired"
+
+ // SummaryStatusInsufficientData is a SummaryStatus enum value
+ SummaryStatusInsufficientData = "insufficient-data"
+
+ // SummaryStatusNotApplicable is a SummaryStatus enum value
+ SummaryStatusNotApplicable = "not-applicable"
+
+ // SummaryStatusInitializing is a SummaryStatus enum value
+ SummaryStatusInitializing = "initializing"
+)
+
+const (
+ // TelemetryStatusUp is a TelemetryStatus enum value
+ TelemetryStatusUp = "UP"
+
+ // TelemetryStatusDown is a TelemetryStatus enum value
+ TelemetryStatusDown = "DOWN"
+)
+
+const (
+ // TenancyDefault is a Tenancy enum value
+ TenancyDefault = "default"
+
+ // TenancyDedicated is a Tenancy enum value
+ TenancyDedicated = "dedicated"
+
+ // TenancyHost is a Tenancy enum value
+ TenancyHost = "host"
+)
+
+const (
+ // TrafficTypeAccept is a TrafficType enum value
+ TrafficTypeAccept = "ACCEPT"
+
+ // TrafficTypeReject is a TrafficType enum value
+ TrafficTypeReject = "REJECT"
+
+ // TrafficTypeAll is a TrafficType enum value
+ TrafficTypeAll = "ALL"
+)
+
+const (
+ // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
+ UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
+
+ // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
+ UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
+
+ // UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
+ UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
+
+ // UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
+ UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
+)
+
+const (
+ // VirtualizationTypeHvm is a VirtualizationType enum value
+ VirtualizationTypeHvm = "hvm"
+
+ // VirtualizationTypeParavirtual is a VirtualizationType enum value
+ VirtualizationTypeParavirtual = "paravirtual"
+)
+
+const (
+ // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
+ VolumeAttachmentStateAttaching = "attaching"
+
+ // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
+ VolumeAttachmentStateAttached = "attached"
+
+ // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
+ VolumeAttachmentStateDetaching = "detaching"
+
+ // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
+ VolumeAttachmentStateDetached = "detached"
+
+ // VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
+ VolumeAttachmentStateBusy = "busy"
+)
+
+const (
+ // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
+ VolumeAttributeNameAutoEnableIo = "autoEnableIO"
+
+ // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
+ VolumeAttributeNameProductCodes = "productCodes"
+)
+
+const (
+ // VolumeModificationStateModifying is a VolumeModificationState enum value
+ VolumeModificationStateModifying = "modifying"
+
+ // VolumeModificationStateOptimizing is a VolumeModificationState enum value
+ VolumeModificationStateOptimizing = "optimizing"
+
+ // VolumeModificationStateCompleted is a VolumeModificationState enum value
+ VolumeModificationStateCompleted = "completed"
+
+ // VolumeModificationStateFailed is a VolumeModificationState enum value
+ VolumeModificationStateFailed = "failed"
+)
+
+const (
+ // VolumeStateCreating is a VolumeState enum value
+ VolumeStateCreating = "creating"
+
+ // VolumeStateAvailable is a VolumeState enum value
+ VolumeStateAvailable = "available"
+
+ // VolumeStateInUse is a VolumeState enum value
+ VolumeStateInUse = "in-use"
+
+ // VolumeStateDeleting is a VolumeState enum value
+ VolumeStateDeleting = "deleting"
+
+ // VolumeStateDeleted is a VolumeState enum value
+ VolumeStateDeleted = "deleted"
+
+ // VolumeStateError is a VolumeState enum value
+ VolumeStateError = "error"
+)
+
+const (
+ // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
+ VolumeStatusInfoStatusOk = "ok"
+
+ // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
+ VolumeStatusInfoStatusImpaired = "impaired"
+
+ // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
+ VolumeStatusInfoStatusInsufficientData = "insufficient-data"
+)
+
+const (
+ // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
+ VolumeStatusNameIoEnabled = "io-enabled"
+
+ // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
+ VolumeStatusNameIoPerformance = "io-performance"
+)
+
+const (
+ // VolumeTypeStandard is a VolumeType enum value
+ VolumeTypeStandard = "standard"
+
+ // VolumeTypeIo1 is a VolumeType enum value
+ VolumeTypeIo1 = "io1"
+
+ // VolumeTypeGp2 is a VolumeType enum value
+ VolumeTypeGp2 = "gp2"
+
+ // VolumeTypeSc1 is a VolumeType enum value
+ VolumeTypeSc1 = "sc1"
+
+ // VolumeTypeSt1 is a VolumeType enum value
+ VolumeTypeSt1 = "st1"
+)
+
+const (
+ // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
+ VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
+
+ // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
+ VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
+)
+
+const (
+ // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeAssociating = "associating"
+
+ // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeAssociated = "associated"
+
+ // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeDisassociating = "disassociating"
+
+ // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeDisassociated = "disassociated"
+
+ // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeFailing = "failing"
+
+ // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
+ VpcCidrBlockStateCodeFailed = "failed"
+)
+
+const (
+ // VpcEndpointTypeInterface is a VpcEndpointType enum value
+ VpcEndpointTypeInterface = "Interface"
+
+ // VpcEndpointTypeGateway is a VpcEndpointType enum value
+ VpcEndpointTypeGateway = "Gateway"
+)
+
+const (
+ // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
+
+ // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
+
+ // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeActive = "active"
+
+ // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
+
+ // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeRejected = "rejected"
+
+ // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeFailed = "failed"
+
+ // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeExpired = "expired"
+
+ // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
+
+ // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
+ VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
+)
+
+const (
+ // VpcStatePending is a VpcState enum value
+ VpcStatePending = "pending"
+
+ // VpcStateAvailable is a VpcState enum value
+ VpcStateAvailable = "available"
+)
+
+const (
+ // VpcTenancyDefault is a VpcTenancy enum value
+ VpcTenancyDefault = "default"
+)
+
+const (
+ // VpnStatePending is a VpnState enum value
+ VpnStatePending = "pending"
+
+ // VpnStateAvailable is a VpnState enum value
+ VpnStateAvailable = "available"
+
+ // VpnStateDeleting is a VpnState enum value
+ VpnStateDeleting = "deleting"
+
+ // VpnStateDeleted is a VpnState enum value
+ VpnStateDeleted = "deleted"
+)
+
+const (
+ // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
+ VpnStaticRouteSourceStatic = "Static"
+)
+
+const (
+ // ScopeAvailabilityZone is a scope enum value
+ ScopeAvailabilityZone = "Availability Zone"
+
+ // ScopeRegion is a scope enum value
+ ScopeRegion = "Region"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations.go
new file mode 100644
index 0000000000..7b42719d65
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations.go
@@ -0,0 +1,120 @@
+package ec2
+
+import (
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+ "github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/internal/sdkrand"
+)
+
+type retryer struct {
+ client.DefaultRetryer
+}
+
+func (d retryer) RetryRules(r *request.Request) time.Duration {
+ switch r.Operation.Name {
+ case opModifyNetworkInterfaceAttribute:
+ fallthrough
+ case opAssignPrivateIpAddresses:
+ return customRetryRule(r)
+ default:
+ return d.DefaultRetryer.RetryRules(r)
+ }
+}
+
+func customRetryRule(r *request.Request) time.Duration {
+ retryTimes := []time.Duration{
+ time.Second,
+ 3 * time.Second,
+ 5 * time.Second,
+ }
+
+ count := r.RetryCount
+ if count >= len(retryTimes) {
+ count = len(retryTimes) - 1
+ }
+
+ minTime := int(retryTimes[count])
+ return time.Duration(sdkrand.SeededRand.Intn(minTime) + minTime)
+}
+
+func setCustomRetryer(c *client.Client) {
+ maxRetries := aws.IntValue(c.Config.MaxRetries)
+ if c.Config.MaxRetries == nil || maxRetries == aws.UseServiceDefaultRetries {
+ maxRetries = 3
+ }
+
+ c.Retryer = retryer{
+ DefaultRetryer: client.DefaultRetryer{
+ NumMaxRetries: maxRetries,
+ },
+ }
+}
+
+func init() {
+ initClient = func(c *client.Client) {
+ if c.Config.Retryer == nil {
+ // Only override the retryer with a custom one if the config
+ // does not already contain a retryer
+ setCustomRetryer(c)
+ }
+ }
+ initRequest = func(r *request.Request) {
+ if r.Operation.Name == opCopySnapshot { // fill the PresignedURL parameter
+ r.Handlers.Build.PushFront(fillPresignedURL)
+ }
+ }
+}
+
+func fillPresignedURL(r *request.Request) {
+ if !r.ParamsFilled() {
+ return
+ }
+
+ origParams := r.Params.(*CopySnapshotInput)
+
+ // Stop if PresignedURL/DestinationRegion is set
+ if origParams.PresignedUrl != nil || origParams.DestinationRegion != nil {
+ return
+ }
+
+ origParams.DestinationRegion = r.Config.Region
+ newParams := awsutil.CopyOf(r.Params).(*CopySnapshotInput)
+
+ // Create a new request based on the existing request. We will use this to
+ // presign the CopySnapshot request against the source region.
+ cfg := r.Config.Copy(aws.NewConfig().
+ WithEndpoint("").
+ WithRegion(aws.StringValue(origParams.SourceRegion)))
+
+ clientInfo := r.ClientInfo
+ resolved, err := r.Config.EndpointResolver.EndpointFor(
+ clientInfo.ServiceName, aws.StringValue(cfg.Region),
+ func(opt *endpoints.Options) {
+ opt.DisableSSL = aws.BoolValue(cfg.DisableSSL)
+ opt.UseDualStack = aws.BoolValue(cfg.UseDualStack)
+ },
+ )
+ if err != nil {
+ r.Error = err
+ return
+ }
+
+ clientInfo.Endpoint = resolved.URL
+ clientInfo.SigningRegion = resolved.SigningRegion
+
+ // Presign a CopySnapshot request with modified params
+ req := request.New(*cfg, clientInfo, r.Handlers, r.Retryer, r.Operation, newParams, r.Data)
+ url, err := req.Presign(5 * time.Minute) // 5 minutes should be enough.
+ if err != nil { // bubble error back up to original request
+ r.Error = err
+ return
+ }
+
+ // We have our URL, set it on params
+ origParams.PresignedUrl = &url
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go
new file mode 100644
index 0000000000..909e05a14f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go
@@ -0,0 +1,30 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package ec2 provides the client and types for making API
+// requests to Amazon Elastic Compute Cloud.
+//
+// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
+// in the AWS Cloud. Using Amazon EC2 eliminates the need to invest in hardware
+// up front, so you can develop and deploy applications faster.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service.
+//
+// See ec2 package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/
+//
+// Using the Client
+//
+// To contact Amazon Elastic Compute Cloud 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 Elastic Compute Cloud client EC2 for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#New
+package ec2
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go
new file mode 100644
index 0000000000..3d61d7e357
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go
@@ -0,0 +1,3 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package ec2
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go
new file mode 100644
index 0000000000..6acbc43fe3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go
@@ -0,0 +1,95 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package ec2
+
+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/ec2query"
+)
+
+// EC2 provides the API operation methods for making requests to
+// Amazon Elastic Compute Cloud. See this package's package overview docs
+// for details on the service.
+//
+// EC2 methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
+type EC2 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 = "ec2" // Name of service.
+ EndpointsID = ServiceName // ID to lookup a service endpoint with.
+ ServiceID = "EC2" // ServiceID is a unique identifer of a specific service.
+)
+
+// New creates a new instance of the EC2 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 EC2 client from just a session.
+// svc := ec2.New(mySession)
+//
+// // Create a EC2 client with additional configuration
+// svc := ec2.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
+func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2 {
+ 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) *EC2 {
+ svc := &EC2{
+ Client: client.New(
+ cfg,
+ metadata.ClientInfo{
+ ServiceName: ServiceName,
+ ServiceID: ServiceID,
+ SigningName: signingName,
+ SigningRegion: signingRegion,
+ Endpoint: endpoint,
+ APIVersion: "2016-11-15",
+ },
+ handlers,
+ ),
+ }
+
+ // Handlers
+ svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
+ svc.Handlers.Build.PushBackNamed(ec2query.BuildHandler)
+ svc.Handlers.Unmarshal.PushBackNamed(ec2query.UnmarshalHandler)
+ svc.Handlers.UnmarshalMeta.PushBackNamed(ec2query.UnmarshalMetaHandler)
+ svc.Handlers.UnmarshalError.PushBackNamed(ec2query.UnmarshalErrorHandler)
+
+ // Run custom client initialization if present
+ if initClient != nil {
+ initClient(svc.Client)
+ }
+
+ return svc
+}
+
+// newRequest creates a new request for a EC2 operation and runs any
+// custom request initialization.
+func (c *EC2) newRequest(op *request.Operation, params, data interface{}) *request.Request {
+ req := c.NewRequest(op, params, data)
+
+ // Run custom request initialization if present
+ if initRequest != nil {
+ initRequest(req)
+ }
+
+ return req
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go
new file mode 100644
index 0000000000..0469f0f01a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go
@@ -0,0 +1,1626 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package ec2
+
+import (
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+// WaitUntilBundleTaskComplete uses the Amazon EC2 API operation
+// DescribeBundleTasks 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 *EC2) WaitUntilBundleTaskComplete(input *DescribeBundleTasksInput) error {
+ return c.WaitUntilBundleTaskCompleteWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBundleTaskCompleteWithContext is an extended version of WaitUntilBundleTaskComplete.
+// 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 *EC2) WaitUntilBundleTaskCompleteWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBundleTaskComplete",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "BundleTasks[].State",
+ Expected: "complete",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "BundleTasks[].State",
+ Expected: "failed",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeBundleTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeBundleTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilConversionTaskCancelled uses the Amazon EC2 API operation
+// DescribeConversionTasks 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 *EC2) WaitUntilConversionTaskCancelled(input *DescribeConversionTasksInput) error {
+ return c.WaitUntilConversionTaskCancelledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskCancelledWithContext is an extended version of WaitUntilConversionTaskCancelled.
+// 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 *EC2) WaitUntilConversionTaskCancelledWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskCancelled",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
+ Expected: "cancelled",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilConversionTaskCompleted uses the Amazon EC2 API operation
+// DescribeConversionTasks 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 *EC2) WaitUntilConversionTaskCompleted(input *DescribeConversionTasksInput) error {
+ return c.WaitUntilConversionTaskCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskCompletedWithContext is an extended version of WaitUntilConversionTaskCompleted.
+// 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 *EC2) WaitUntilConversionTaskCompletedWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskCompleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
+ Expected: "completed",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "ConversionTasks[].State",
+ Expected: "cancelled",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "ConversionTasks[].State",
+ Expected: "cancelling",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilConversionTaskDeleted uses the Amazon EC2 API operation
+// DescribeConversionTasks 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 *EC2) WaitUntilConversionTaskDeleted(input *DescribeConversionTasksInput) error {
+ return c.WaitUntilConversionTaskDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskDeletedWithContext is an extended version of WaitUntilConversionTaskDeleted.
+// 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 *EC2) WaitUntilConversionTaskDeletedWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskDeleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
+ Expected: "deleted",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilCustomerGatewayAvailable uses the Amazon EC2 API operation
+// DescribeCustomerGateways 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 *EC2) WaitUntilCustomerGatewayAvailable(input *DescribeCustomerGatewaysInput) error {
+ return c.WaitUntilCustomerGatewayAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilCustomerGatewayAvailableWithContext is an extended version of WaitUntilCustomerGatewayAvailable.
+// 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 *EC2) WaitUntilCustomerGatewayAvailableWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilCustomerGatewayAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "CustomerGateways[].State",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "CustomerGateways[].State",
+ Expected: "deleted",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "CustomerGateways[].State",
+ Expected: "deleting",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeCustomerGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeCustomerGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilExportTaskCancelled uses the Amazon EC2 API operation
+// DescribeExportTasks 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 *EC2) WaitUntilExportTaskCancelled(input *DescribeExportTasksInput) error {
+ return c.WaitUntilExportTaskCancelledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilExportTaskCancelledWithContext is an extended version of WaitUntilExportTaskCancelled.
+// 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 *EC2) WaitUntilExportTaskCancelledWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilExportTaskCancelled",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ExportTasks[].State",
+ Expected: "cancelled",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeExportTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeExportTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilExportTaskCompleted uses the Amazon EC2 API operation
+// DescribeExportTasks 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 *EC2) WaitUntilExportTaskCompleted(input *DescribeExportTasksInput) error {
+ return c.WaitUntilExportTaskCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilExportTaskCompletedWithContext is an extended version of WaitUntilExportTaskCompleted.
+// 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 *EC2) WaitUntilExportTaskCompletedWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilExportTaskCompleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ExportTasks[].State",
+ Expected: "completed",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeExportTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeExportTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilImageAvailable uses the Amazon EC2 API operation
+// DescribeImages 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 *EC2) WaitUntilImageAvailable(input *DescribeImagesInput) error {
+ return c.WaitUntilImageAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilImageAvailableWithContext is an extended version of WaitUntilImageAvailable.
+// 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 *EC2) WaitUntilImageAvailableWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilImageAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Images[].State",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Images[].State",
+ Expected: "failed",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilImageExists uses the Amazon EC2 API operation
+// DescribeImages 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 *EC2) WaitUntilImageExists(input *DescribeImagesInput) error {
+ return c.WaitUntilImageExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilImageExistsWithContext is an extended version of WaitUntilImageExists.
+// 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 *EC2) WaitUntilImageExistsWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilImageExists",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(Images[]) > `0`",
+ Expected: true,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidAMIID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilInstanceExists uses the Amazon EC2 API operation
+// DescribeInstances 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 *EC2) WaitUntilInstanceExists(input *DescribeInstancesInput) error {
+ return c.WaitUntilInstanceExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceExistsWithContext is an extended version of WaitUntilInstanceExists.
+// 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 *EC2) WaitUntilInstanceExistsWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceExists",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(Reservations[]) > `0`",
+ Expected: true,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidInstanceID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilInstanceRunning uses the Amazon EC2 API operation
+// DescribeInstances 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 *EC2) WaitUntilInstanceRunning(input *DescribeInstancesInput) error {
+ return c.WaitUntilInstanceRunningWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceRunningWithContext is an extended version of WaitUntilInstanceRunning.
+// 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 *EC2) WaitUntilInstanceRunningWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceRunning",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "running",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "shutting-down",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "terminated",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "stopping",
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidInstanceID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilInstanceStatusOk uses the Amazon EC2 API operation
+// DescribeInstanceStatus 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 *EC2) WaitUntilInstanceStatusOk(input *DescribeInstanceStatusInput) error {
+ return c.WaitUntilInstanceStatusOkWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceStatusOkWithContext is an extended version of WaitUntilInstanceStatusOk.
+// 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 *EC2) WaitUntilInstanceStatusOkWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceStatusOk",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "InstanceStatuses[].InstanceStatus.Status",
+ Expected: "ok",
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidInstanceID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilInstanceStopped uses the Amazon EC2 API operation
+// DescribeInstances 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 *EC2) WaitUntilInstanceStopped(input *DescribeInstancesInput) error {
+ return c.WaitUntilInstanceStoppedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceStoppedWithContext is an extended version of WaitUntilInstanceStopped.
+// 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 *EC2) WaitUntilInstanceStoppedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceStopped",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "stopped",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "pending",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "terminated",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilInstanceTerminated uses the Amazon EC2 API operation
+// DescribeInstances 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 *EC2) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error {
+ return c.WaitUntilInstanceTerminatedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
+// 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 *EC2) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceTerminated",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "terminated",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "pending",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
+ Expected: "stopping",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilKeyPairExists uses the Amazon EC2 API operation
+// DescribeKeyPairs 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 *EC2) WaitUntilKeyPairExists(input *DescribeKeyPairsInput) error {
+ return c.WaitUntilKeyPairExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilKeyPairExistsWithContext is an extended version of WaitUntilKeyPairExists.
+// 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 *EC2) WaitUntilKeyPairExistsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilKeyPairExists",
+ MaxAttempts: 6,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(KeyPairs[].KeyName) > `0`",
+ Expected: true,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidKeyPair.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeKeyPairsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeKeyPairsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilNatGatewayAvailable uses the Amazon EC2 API operation
+// DescribeNatGateways 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 *EC2) WaitUntilNatGatewayAvailable(input *DescribeNatGatewaysInput) error {
+ return c.WaitUntilNatGatewayAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilNatGatewayAvailableWithContext is an extended version of WaitUntilNatGatewayAvailable.
+// 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 *EC2) WaitUntilNatGatewayAvailableWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilNatGatewayAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "NatGateways[].State",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
+ Expected: "failed",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
+ Expected: "deleting",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
+ Expected: "deleted",
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "NatGatewayNotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeNatGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNatGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilNetworkInterfaceAvailable uses the Amazon EC2 API operation
+// DescribeNetworkInterfaces 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 *EC2) WaitUntilNetworkInterfaceAvailable(input *DescribeNetworkInterfacesInput) error {
+ return c.WaitUntilNetworkInterfaceAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilNetworkInterfaceAvailableWithContext is an extended version of WaitUntilNetworkInterfaceAvailable.
+// 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 *EC2) WaitUntilNetworkInterfaceAvailableWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilNetworkInterfaceAvailable",
+ MaxAttempts: 10,
+ Delay: request.ConstantWaiterDelay(20 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "NetworkInterfaces[].Status",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidNetworkInterfaceID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeNetworkInterfacesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilPasswordDataAvailable uses the Amazon EC2 API operation
+// GetPasswordData 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 *EC2) WaitUntilPasswordDataAvailable(input *GetPasswordDataInput) error {
+ return c.WaitUntilPasswordDataAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilPasswordDataAvailableWithContext is an extended version of WaitUntilPasswordDataAvailable.
+// 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 *EC2) WaitUntilPasswordDataAvailableWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilPasswordDataAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(PasswordData) > `0`",
+ Expected: true,
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *GetPasswordDataInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetPasswordDataRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilSnapshotCompleted uses the Amazon EC2 API operation
+// DescribeSnapshots 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 *EC2) WaitUntilSnapshotCompleted(input *DescribeSnapshotsInput) error {
+ return c.WaitUntilSnapshotCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSnapshotCompletedWithContext is an extended version of WaitUntilSnapshotCompleted.
+// 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 *EC2) WaitUntilSnapshotCompletedWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSnapshotCompleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Snapshots[].State",
+ Expected: "completed",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSnapshotsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSnapshotsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilSpotInstanceRequestFulfilled uses the Amazon EC2 API operation
+// DescribeSpotInstanceRequests 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 *EC2) WaitUntilSpotInstanceRequestFulfilled(input *DescribeSpotInstanceRequestsInput) error {
+ return c.WaitUntilSpotInstanceRequestFulfilledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSpotInstanceRequestFulfilledWithContext is an extended version of WaitUntilSpotInstanceRequestFulfilled.
+// 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 *EC2) WaitUntilSpotInstanceRequestFulfilledWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSpotInstanceRequestFulfilled",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "fulfilled",
+ },
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "request-canceled-and-instance-running",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "schedule-expired",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "canceled-before-fulfillment",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "bad-parameters",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
+ Expected: "system-error",
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidSpotInstanceRequestID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSpotInstanceRequestsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilSubnetAvailable uses the Amazon EC2 API operation
+// DescribeSubnets 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 *EC2) WaitUntilSubnetAvailable(input *DescribeSubnetsInput) error {
+ return c.WaitUntilSubnetAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSubnetAvailableWithContext is an extended version of WaitUntilSubnetAvailable.
+// 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 *EC2) WaitUntilSubnetAvailableWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSubnetAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Subnets[].State",
+ Expected: "available",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSubnetsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSubnetsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilSystemStatusOk uses the Amazon EC2 API operation
+// DescribeInstanceStatus 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 *EC2) WaitUntilSystemStatusOk(input *DescribeInstanceStatusInput) error {
+ return c.WaitUntilSystemStatusOkWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSystemStatusOkWithContext is an extended version of WaitUntilSystemStatusOk.
+// 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 *EC2) WaitUntilSystemStatusOkWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSystemStatusOk",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "InstanceStatuses[].SystemStatus.Status",
+ Expected: "ok",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVolumeAvailable uses the Amazon EC2 API operation
+// DescribeVolumes 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 *EC2) WaitUntilVolumeAvailable(input *DescribeVolumesInput) error {
+ return c.WaitUntilVolumeAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeAvailableWithContext is an extended version of WaitUntilVolumeAvailable.
+// 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 *EC2) WaitUntilVolumeAvailableWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Volumes[].State",
+ Expected: "deleted",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVolumeDeleted uses the Amazon EC2 API operation
+// DescribeVolumes 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 *EC2) WaitUntilVolumeDeleted(input *DescribeVolumesInput) error {
+ return c.WaitUntilVolumeDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeDeletedWithContext is an extended version of WaitUntilVolumeDeleted.
+// 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 *EC2) WaitUntilVolumeDeletedWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeDeleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
+ Expected: "deleted",
+ },
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidVolume.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVolumeInUse uses the Amazon EC2 API operation
+// DescribeVolumes 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 *EC2) WaitUntilVolumeInUse(input *DescribeVolumesInput) error {
+ return c.WaitUntilVolumeInUseWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeInUseWithContext is an extended version of WaitUntilVolumeInUse.
+// 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 *EC2) WaitUntilVolumeInUseWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeInUse",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
+ Expected: "in-use",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Volumes[].State",
+ Expected: "deleted",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpcAvailable uses the Amazon EC2 API operation
+// DescribeVpcs 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 *EC2) WaitUntilVpcAvailable(input *DescribeVpcsInput) error {
+ return c.WaitUntilVpcAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcAvailableWithContext is an extended version of WaitUntilVpcAvailable.
+// 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 *EC2) WaitUntilVpcAvailableWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Vpcs[].State",
+ Expected: "available",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpcExists uses the Amazon EC2 API operation
+// DescribeVpcs 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 *EC2) WaitUntilVpcExists(input *DescribeVpcsInput) error {
+ return c.WaitUntilVpcExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcExistsWithContext is an extended version of WaitUntilVpcExists.
+// 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 *EC2) WaitUntilVpcExistsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcExists",
+ MaxAttempts: 5,
+ Delay: request.ConstantWaiterDelay(1 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 200,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidVpcID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpcPeeringConnectionDeleted uses the Amazon EC2 API operation
+// DescribeVpcPeeringConnections 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 *EC2) WaitUntilVpcPeeringConnectionDeleted(input *DescribeVpcPeeringConnectionsInput) error {
+ return c.WaitUntilVpcPeeringConnectionDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcPeeringConnectionDeletedWithContext is an extended version of WaitUntilVpcPeeringConnectionDeleted.
+// 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 *EC2) WaitUntilVpcPeeringConnectionDeletedWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcPeeringConnectionDeleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpcPeeringConnections[].Status.Code",
+ Expected: "deleted",
+ },
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidVpcPeeringConnectionID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcPeeringConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpcPeeringConnectionExists uses the Amazon EC2 API operation
+// DescribeVpcPeeringConnections 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 *EC2) WaitUntilVpcPeeringConnectionExists(input *DescribeVpcPeeringConnectionsInput) error {
+ return c.WaitUntilVpcPeeringConnectionExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcPeeringConnectionExistsWithContext is an extended version of WaitUntilVpcPeeringConnectionExists.
+// 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 *EC2) WaitUntilVpcPeeringConnectionExistsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcPeeringConnectionExists",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 200,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidVpcPeeringConnectionID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcPeeringConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpnConnectionAvailable uses the Amazon EC2 API operation
+// DescribeVpnConnections 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 *EC2) WaitUntilVpnConnectionAvailable(input *DescribeVpnConnectionsInput) error {
+ return c.WaitUntilVpnConnectionAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpnConnectionAvailableWithContext is an extended version of WaitUntilVpnConnectionAvailable.
+// 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 *EC2) WaitUntilVpnConnectionAvailableWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpnConnectionAvailable",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpnConnections[].State",
+ Expected: "available",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
+ Expected: "deleting",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
+ Expected: "deleted",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpnConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpnConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilVpnConnectionDeleted uses the Amazon EC2 API operation
+// DescribeVpnConnections 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 *EC2) WaitUntilVpnConnectionDeleted(input *DescribeVpnConnectionsInput) error {
+ return c.WaitUntilVpnConnectionDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpnConnectionDeletedWithContext is an extended version of WaitUntilVpnConnectionDeleted.
+// 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 *EC2) WaitUntilVpnConnectionDeletedWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpnConnectionDeleted",
+ MaxAttempts: 40,
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpnConnections[].State",
+ Expected: "deleted",
+ },
+ {
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
+ Expected: "pending",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpnConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpnConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
new file mode 100644
index 0000000000..a5c51bbe71
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -0,0 +1,22058 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package s3
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "sync"
+ "sync/atomic"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+ "github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/private/protocol"
+ "github.com/aws/aws-sdk-go/private/protocol/eventstream"
+ "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
+ "github.com/aws/aws-sdk-go/private/protocol/rest"
+ "github.com/aws/aws-sdk-go/private/protocol/restxml"
+)
+
+const opAbortMultipartUpload = "AbortMultipartUpload"
+
+// AbortMultipartUploadRequest generates a "aws/request.Request" representing the
+// client's request for the AbortMultipartUpload operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AbortMultipartUpload for more information on using the AbortMultipartUpload
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AbortMultipartUploadRequest method.
+// req, resp := client.AbortMultipartUploadRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
+func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) {
+ op := &request.Operation{
+ Name: opAbortMultipartUpload,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &AbortMultipartUploadInput{}
+ }
+
+ output = &AbortMultipartUploadOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AbortMultipartUpload API operation for Amazon Simple Storage Service.
+//
+// Aborts a multipart upload.
+//
+// To verify that all parts have been removed, so you don't get charged for
+// the part storage, you should call the List Parts operation and ensure the
+// parts list 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 Amazon Simple Storage Service's
+// API operation AbortMultipartUpload for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchUpload "NoSuchUpload"
+// The specified multipart upload does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
+func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
+ req, out := c.AbortMultipartUploadRequest(input)
+ return out, req.Send()
+}
+
+// AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AbortMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput, opts ...request.Option) (*AbortMultipartUploadOutput, error) {
+ req, out := c.AbortMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCompleteMultipartUpload = "CompleteMultipartUpload"
+
+// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the
+// client's request for the CompleteMultipartUpload operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CompleteMultipartUploadRequest method.
+// req, resp := client.CompleteMultipartUploadRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
+func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) {
+ op := &request.Operation{
+ Name: opCompleteMultipartUpload,
+ HTTPMethod: "POST",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &CompleteMultipartUploadInput{}
+ }
+
+ output = &CompleteMultipartUploadOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CompleteMultipartUpload API operation for Amazon Simple Storage Service.
+//
+// Completes a multipart upload by assembling previously uploaded parts.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation CompleteMultipartUpload for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
+func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) {
+ req, out := c.CompleteMultipartUploadRequest(input)
+ return out, req.Send()
+}
+
+// CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CompleteMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput, opts ...request.Option) (*CompleteMultipartUploadOutput, error) {
+ req, out := c.CompleteMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCopyObject = "CopyObject"
+
+// CopyObjectRequest generates a "aws/request.Request" representing the
+// client's request for the CopyObject operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CopyObject for more information on using the CopyObject
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CopyObjectRequest method.
+// req, resp := client.CopyObjectRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
+func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) {
+ op := &request.Operation{
+ Name: opCopyObject,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &CopyObjectInput{}
+ }
+
+ output = &CopyObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CopyObject API operation for Amazon Simple Storage Service.
+//
+// Creates a copy of an object that is already 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 Amazon Simple Storage Service's
+// API operation CopyObject for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeObjectNotInActiveTierError "ObjectNotInActiveTierError"
+// The source object of the COPY operation is not in the active tier and is
+// only stored in Amazon Glacier.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
+func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) {
+ req, out := c.CopyObjectRequest(input)
+ return out, req.Send()
+}
+
+// CopyObjectWithContext is the same as CopyObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopyObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CopyObjectWithContext(ctx aws.Context, input *CopyObjectInput, opts ...request.Option) (*CopyObjectOutput, error) {
+ req, out := c.CopyObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateBucket = "CreateBucket"
+
+// CreateBucketRequest generates a "aws/request.Request" representing the
+// client's request for the CreateBucket operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateBucket for more information on using the CreateBucket
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateBucketRequest method.
+// req, resp := client.CreateBucketRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
+func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) {
+ op := &request.Operation{
+ Name: opCreateBucket,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}",
+ }
+
+ if input == nil {
+ input = &CreateBucketInput{}
+ }
+
+ output = &CreateBucketOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateBucket API operation for Amazon Simple Storage Service.
+//
+// Creates a new bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation CreateBucket for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeBucketAlreadyExists "BucketAlreadyExists"
+// The requested bucket name is not available. The bucket namespace is shared
+// by all users of the system. Please select a different name and try again.
+//
+// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou"
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
+func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
+ req, out := c.CreateBucketRequest(input)
+ return out, req.Send()
+}
+
+// CreateBucketWithContext is the same as CreateBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) {
+ req, out := c.CreateBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateMultipartUpload = "CreateMultipartUpload"
+
+// CreateMultipartUploadRequest generates a "aws/request.Request" representing the
+// client's request for the CreateMultipartUpload operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateMultipartUpload for more information on using the CreateMultipartUpload
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateMultipartUploadRequest method.
+// req, resp := client.CreateMultipartUploadRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
+func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) {
+ op := &request.Operation{
+ Name: opCreateMultipartUpload,
+ HTTPMethod: "POST",
+ HTTPPath: "/{Bucket}/{Key+}?uploads",
+ }
+
+ if input == nil {
+ input = &CreateMultipartUploadInput{}
+ }
+
+ output = &CreateMultipartUploadOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateMultipartUpload API operation for Amazon Simple Storage Service.
+//
+// Initiates a multipart upload and returns an upload ID.
+//
+// Note: After you initiate multipart upload and upload one or more parts, you
+// must either complete or abort multipart upload in order to stop getting charged
+// for storage of the uploaded parts. Only after you either complete or abort
+// multipart upload, Amazon S3 frees up the parts storage and stops charging
+// you for the parts storage.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation CreateMultipartUpload for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
+func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) {
+ req, out := c.CreateMultipartUploadRequest(input)
+ return out, req.Send()
+}
+
+// CreateMultipartUploadWithContext is the same as CreateMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CreateMultipartUploadWithContext(ctx aws.Context, input *CreateMultipartUploadInput, opts ...request.Option) (*CreateMultipartUploadOutput, error) {
+ req, out := c.CreateMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucket = "DeleteBucket"
+
+// DeleteBucketRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucket operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucket for more information on using the DeleteBucket
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketRequest method.
+// req, resp := client.DeleteBucketRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
+func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucket,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}",
+ }
+
+ if input == nil {
+ input = &DeleteBucketInput{}
+ }
+
+ output = &DeleteBucketOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucket API operation for Amazon Simple Storage Service.
+//
+// Deletes the bucket. All objects (including all object versions and Delete
+// Markers) in the bucket must be deleted before the bucket itself can 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 Simple Storage Service's
+// API operation DeleteBucket for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
+func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
+ req, out := c.DeleteBucketRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketWithContext is the same as DeleteBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
+ req, out := c.DeleteBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
+
+// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
+// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
+func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketAnalyticsConfiguration,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?analytics",
+ }
+
+ if input == nil {
+ input = &DeleteBucketAnalyticsConfigurationInput{}
+ }
+
+ output = &DeleteBucketAnalyticsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Deletes an analytics configuration for the bucket (specified by the analytics
+// configuration ID).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketAnalyticsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
+func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketCors = "DeleteBucketCors"
+
+// DeleteBucketCorsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketCors operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketCors for more information on using the DeleteBucketCors
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketCorsRequest method.
+// req, resp := client.DeleteBucketCorsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
+func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketCors,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?cors",
+ }
+
+ if input == nil {
+ input = &DeleteBucketCorsInput{}
+ }
+
+ output = &DeleteBucketCorsOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketCors API operation for Amazon Simple Storage Service.
+//
+// Deletes the cors configuration information set for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketCors for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
+func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
+ req, out := c.DeleteBucketCorsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
+ req, out := c.DeleteBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketEncryption = "DeleteBucketEncryption"
+
+// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketEncryption operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketEncryptionRequest method.
+// req, resp := client.DeleteBucketEncryptionRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
+func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketEncryption,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?encryption",
+ }
+
+ if input == nil {
+ input = &DeleteBucketEncryptionInput{}
+ }
+
+ output = &DeleteBucketEncryptionOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketEncryption API operation for Amazon Simple Storage Service.
+//
+// Deletes the server-side encryption configuration from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketEncryption for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
+func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
+ req, out := c.DeleteBucketEncryptionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketEncryption for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
+ req, out := c.DeleteBucketEncryptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
+
+// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
+// req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
+func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketInventoryConfiguration,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?inventory",
+ }
+
+ if input == nil {
+ input = &DeleteBucketInventoryConfigurationInput{}
+ }
+
+ output = &DeleteBucketInventoryConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
+//
+// Deletes an inventory configuration (identified by the inventory ID) from
+// the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketInventoryConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
+func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
+ req, out := c.DeleteBucketInventoryConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
+ req, out := c.DeleteBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
+
+// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketLifecycle operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketLifecycleRequest method.
+// req, resp := client.DeleteBucketLifecycleRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
+func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketLifecycle,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?lifecycle",
+ }
+
+ if input == nil {
+ input = &DeleteBucketLifecycleInput{}
+ }
+
+ output = &DeleteBucketLifecycleOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
+//
+// Deletes the lifecycle configuration from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketLifecycle for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
+func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
+ req, out := c.DeleteBucketLifecycleRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
+ req, out := c.DeleteBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
+
+// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
+// req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
+func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketMetricsConfiguration,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?metrics",
+ }
+
+ if input == nil {
+ input = &DeleteBucketMetricsConfigurationInput{}
+ }
+
+ output = &DeleteBucketMetricsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Deletes a metrics configuration (specified by the metrics configuration ID)
+// from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketMetricsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
+func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
+ req, out := c.DeleteBucketMetricsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
+ req, out := c.DeleteBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketPolicy = "DeleteBucketPolicy"
+
+// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketPolicy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketPolicyRequest method.
+// req, resp := client.DeleteBucketPolicyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
+func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketPolicy,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?policy",
+ }
+
+ if input == nil {
+ input = &DeleteBucketPolicyInput{}
+ }
+
+ output = &DeleteBucketPolicyOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketPolicy API operation for Amazon Simple Storage Service.
+//
+// Deletes the policy from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketPolicy for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
+func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
+ req, out := c.DeleteBucketPolicyRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
+ req, out := c.DeleteBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketReplication = "DeleteBucketReplication"
+
+// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketReplication operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketReplication for more information on using the DeleteBucketReplication
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketReplicationRequest method.
+// req, resp := client.DeleteBucketReplicationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
+func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketReplication,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?replication",
+ }
+
+ if input == nil {
+ input = &DeleteBucketReplicationInput{}
+ }
+
+ output = &DeleteBucketReplicationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketReplication API operation for Amazon Simple Storage Service.
+//
+// Deletes the replication configuration from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketReplication for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
+func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
+ req, out := c.DeleteBucketReplicationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
+ req, out := c.DeleteBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketTagging = "DeleteBucketTagging"
+
+// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketTagging for more information on using the DeleteBucketTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketTaggingRequest method.
+// req, resp := client.DeleteBucketTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
+func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketTagging,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?tagging",
+ }
+
+ if input == nil {
+ input = &DeleteBucketTaggingInput{}
+ }
+
+ output = &DeleteBucketTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketTagging API operation for Amazon Simple Storage Service.
+//
+// Deletes the tags from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
+func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
+ req, out := c.DeleteBucketTaggingRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
+ req, out := c.DeleteBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteBucketWebsite = "DeleteBucketWebsite"
+
+// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketWebsite operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteBucketWebsiteRequest method.
+// req, resp := client.DeleteBucketWebsiteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
+func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketWebsite,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?website",
+ }
+
+ if input == nil {
+ input = &DeleteBucketWebsiteInput{}
+ }
+
+ output = &DeleteBucketWebsiteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketWebsite API operation for Amazon Simple Storage Service.
+//
+// This operation removes the website configuration from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketWebsite for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
+func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
+ req, out := c.DeleteBucketWebsiteRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
+ req, out := c.DeleteBucketWebsiteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+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
+// successfuly.
+//
+// Use "Send" method on the 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/s3-2006-03-01/DeleteObject
+func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
+ op := &request.Operation{
+ Name: opDeleteObject,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &DeleteObjectInput{}
+ }
+
+ output = &DeleteObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteObject API operation for Amazon Simple Storage Service.
+//
+// Removes the null version (if there is one) of an object and inserts a delete
+// marker, which becomes the latest version of the object. If there isn't a
+// null version, Amazon S3 does not remove any objects.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation DeleteObject for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
+func (c *S3) 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 *S3) 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 opDeleteObjectTagging = "DeleteObjectTagging"
+
+// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteObjectTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteObjectTagging for more information on using the DeleteObjectTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteObjectTaggingRequest method.
+// req, resp := client.DeleteObjectTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
+func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
+ op := &request.Operation{
+ Name: opDeleteObjectTagging,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}/{Key+}?tagging",
+ }
+
+ if input == nil {
+ input = &DeleteObjectTaggingInput{}
+ }
+
+ output = &DeleteObjectTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteObjectTagging API operation for Amazon Simple Storage Service.
+//
+// Removes the tag-set from an existing 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 Amazon Simple Storage Service's
+// API operation DeleteObjectTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
+func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
+ req, out := c.DeleteObjectTaggingRequest(input)
+ return out, req.Send()
+}
+
+// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
+ req, out := c.DeleteObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteObjects = "DeleteObjects"
+
+// DeleteObjectsRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteObjects operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteObjects for more information on using the DeleteObjects
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteObjectsRequest method.
+// req, resp := client.DeleteObjectsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
+func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
+ op := &request.Operation{
+ Name: opDeleteObjects,
+ HTTPMethod: "POST",
+ HTTPPath: "/{Bucket}?delete",
+ }
+
+ if input == nil {
+ input = &DeleteObjectsInput{}
+ }
+
+ output = &DeleteObjectsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteObjects API operation for Amazon Simple Storage Service.
+//
+// This operation enables you to delete multiple objects from a bucket using
+// a single HTTP request. You may specify up to 1000 keys.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation DeleteObjects for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
+func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
+ req, out := c.DeleteObjectsRequest(input)
+ return out, req.Send()
+}
+
+// DeleteObjectsWithContext is the same as DeleteObjects with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteObjects for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
+ req, out := c.DeleteObjectsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
+
+// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketAccelerateConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
+// req, resp := client.GetBucketAccelerateConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
+func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketAccelerateConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?accelerate",
+ }
+
+ if input == nil {
+ input = &GetBucketAccelerateConfigurationInput{}
+ }
+
+ output = &GetBucketAccelerateConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
+//
+// Returns the accelerate configuration of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketAccelerateConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
+func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
+ req, out := c.GetBucketAccelerateConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAccelerateConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
+ req, out := c.GetBucketAccelerateConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketAcl = "GetBucketAcl"
+
+// GetBucketAclRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketAcl for more information on using the GetBucketAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketAclRequest method.
+// req, resp := client.GetBucketAclRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
+func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
+ op := &request.Operation{
+ Name: opGetBucketAcl,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?acl",
+ }
+
+ if input == nil {
+ input = &GetBucketAclInput{}
+ }
+
+ output = &GetBucketAclOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketAcl API operation for Amazon Simple Storage Service.
+//
+// Gets the access control policy for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketAcl for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
+func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
+ req, out := c.GetBucketAclRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketAclWithContext is the same as GetBucketAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
+ req, out := c.GetBucketAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
+
+// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
+// req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
+func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketAnalyticsConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?analytics",
+ }
+
+ if input == nil {
+ input = &GetBucketAnalyticsConfigurationInput{}
+ }
+
+ output = &GetBucketAnalyticsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Gets an analytics configuration for the bucket (specified by the analytics
+// configuration ID).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketAnalyticsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
+func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.GetBucketAnalyticsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.GetBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketCors = "GetBucketCors"
+
+// GetBucketCorsRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketCors operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketCors for more information on using the GetBucketCors
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketCorsRequest method.
+// req, resp := client.GetBucketCorsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
+func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
+ op := &request.Operation{
+ Name: opGetBucketCors,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?cors",
+ }
+
+ if input == nil {
+ input = &GetBucketCorsInput{}
+ }
+
+ output = &GetBucketCorsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketCors API operation for Amazon Simple Storage Service.
+//
+// Returns the cors configuration for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketCors for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
+func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
+ req, out := c.GetBucketCorsRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketCorsWithContext is the same as GetBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
+ req, out := c.GetBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketEncryption = "GetBucketEncryption"
+
+// GetBucketEncryptionRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketEncryption operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketEncryption for more information on using the GetBucketEncryption
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketEncryptionRequest method.
+// req, resp := client.GetBucketEncryptionRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
+func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
+ op := &request.Operation{
+ Name: opGetBucketEncryption,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?encryption",
+ }
+
+ if input == nil {
+ input = &GetBucketEncryptionInput{}
+ }
+
+ output = &GetBucketEncryptionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketEncryption API operation for Amazon Simple Storage Service.
+//
+// Returns the server-side encryption configuration of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketEncryption for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
+func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
+ req, out := c.GetBucketEncryptionRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketEncryption for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
+ req, out := c.GetBucketEncryptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
+
+// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketInventoryConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketInventoryConfigurationRequest method.
+// req, resp := client.GetBucketInventoryConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
+func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketInventoryConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?inventory",
+ }
+
+ if input == nil {
+ input = &GetBucketInventoryConfigurationInput{}
+ }
+
+ output = &GetBucketInventoryConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
+//
+// Returns an inventory configuration (identified by the inventory ID) from
+// the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketInventoryConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
+func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
+ req, out := c.GetBucketInventoryConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
+ req, out := c.GetBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketLifecycle = "GetBucketLifecycle"
+
+// GetBucketLifecycleRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketLifecycle operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketLifecycle for more information on using the GetBucketLifecycle
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketLifecycleRequest method.
+// req, resp := client.GetBucketLifecycleRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
+func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
+ if c.Client.Config.Logger != nil {
+ c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
+ }
+ op := &request.Operation{
+ Name: opGetBucketLifecycle,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?lifecycle",
+ }
+
+ if input == nil {
+ input = &GetBucketLifecycleInput{}
+ }
+
+ output = &GetBucketLifecycleOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketLifecycle API operation for Amazon Simple Storage Service.
+//
+// Deprecated, see the GetBucketLifecycleConfiguration operation.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketLifecycle for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
+func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
+ req, out := c.GetBucketLifecycleRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
+ req, out := c.GetBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
+
+// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketLifecycleConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
+// req, resp := client.GetBucketLifecycleConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
+func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketLifecycleConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?lifecycle",
+ }
+
+ if input == nil {
+ input = &GetBucketLifecycleConfigurationInput{}
+ }
+
+ output = &GetBucketLifecycleConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
+//
+// Returns the lifecycle configuration information set on the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketLifecycleConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
+func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
+ req, out := c.GetBucketLifecycleConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLifecycleConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
+ req, out := c.GetBucketLifecycleConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketLocation = "GetBucketLocation"
+
+// GetBucketLocationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketLocation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketLocation for more information on using the GetBucketLocation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketLocationRequest method.
+// req, resp := client.GetBucketLocationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
+func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketLocation,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?location",
+ }
+
+ if input == nil {
+ input = &GetBucketLocationInput{}
+ }
+
+ output = &GetBucketLocationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketLocation API operation for Amazon Simple Storage Service.
+//
+// Returns the region the bucket resides in.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation GetBucketLocation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
+func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
+ req, out := c.GetBucketLocationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLocation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
+ req, out := c.GetBucketLocationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketLogging = "GetBucketLogging"
+
+// GetBucketLoggingRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketLogging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketLogging for more information on using the GetBucketLogging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketLoggingRequest method.
+// req, resp := client.GetBucketLoggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
+func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
+ op := &request.Operation{
+ Name: opGetBucketLogging,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?logging",
+ }
+
+ if input == nil {
+ input = &GetBucketLoggingInput{}
+ }
+
+ output = &GetBucketLoggingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketLogging API operation for Amazon Simple Storage Service.
+//
+// Returns the logging status of a bucket and the permissions users have to
+// view and modify that status. To use GET, you must be the bucket owner.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation GetBucketLogging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
+func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
+ req, out := c.GetBucketLoggingRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLogging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
+ req, out := c.GetBucketLoggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
+
+// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketMetricsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketMetricsConfigurationRequest method.
+// req, resp := client.GetBucketMetricsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
+func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketMetricsConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?metrics",
+ }
+
+ if input == nil {
+ input = &GetBucketMetricsConfigurationInput{}
+ }
+
+ output = &GetBucketMetricsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Gets a metrics configuration (specified by the metrics configuration ID)
+// from the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketMetricsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
+func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
+ req, out := c.GetBucketMetricsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
+ req, out := c.GetBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketNotification = "GetBucketNotification"
+
+// GetBucketNotificationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketNotification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketNotification for more information on using the GetBucketNotification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketNotificationRequest method.
+// req, resp := client.GetBucketNotificationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
+func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
+ if c.Client.Config.Logger != nil {
+ c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
+ }
+ op := &request.Operation{
+ Name: opGetBucketNotification,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?notification",
+ }
+
+ if input == nil {
+ input = &GetBucketNotificationConfigurationRequest{}
+ }
+
+ output = &NotificationConfigurationDeprecated{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketNotification API operation for Amazon Simple Storage Service.
+//
+// Deprecated, see the GetBucketNotificationConfiguration operation.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketNotification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
+func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
+ req, out := c.GetBucketNotificationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
+ req, out := c.GetBucketNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
+
+// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketNotificationConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketNotificationConfigurationRequest method.
+// req, resp := client.GetBucketNotificationConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
+func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
+ op := &request.Operation{
+ Name: opGetBucketNotificationConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?notification",
+ }
+
+ if input == nil {
+ input = &GetBucketNotificationConfigurationRequest{}
+ }
+
+ output = &NotificationConfiguration{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
+//
+// Returns the notification configuration of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketNotificationConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
+func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
+ req, out := c.GetBucketNotificationConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketNotificationConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
+ req, out := c.GetBucketNotificationConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketPolicy = "GetBucketPolicy"
+
+// GetBucketPolicyRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketPolicy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketPolicy for more information on using the GetBucketPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketPolicyRequest method.
+// req, resp := client.GetBucketPolicyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
+func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
+ op := &request.Operation{
+ Name: opGetBucketPolicy,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?policy",
+ }
+
+ if input == nil {
+ input = &GetBucketPolicyInput{}
+ }
+
+ output = &GetBucketPolicyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketPolicy API operation for Amazon Simple Storage Service.
+//
+// Returns the policy of a specified bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketPolicy for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
+func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
+ req, out := c.GetBucketPolicyRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
+ req, out := c.GetBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketReplication = "GetBucketReplication"
+
+// GetBucketReplicationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketReplication operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketReplication for more information on using the GetBucketReplication
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketReplicationRequest method.
+// req, resp := client.GetBucketReplicationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
+func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketReplication,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?replication",
+ }
+
+ if input == nil {
+ input = &GetBucketReplicationInput{}
+ }
+
+ output = &GetBucketReplicationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketReplication API operation for Amazon Simple Storage Service.
+//
+// Returns the replication configuration of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketReplication for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
+func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
+ req, out := c.GetBucketReplicationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
+ req, out := c.GetBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketRequestPayment = "GetBucketRequestPayment"
+
+// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketRequestPayment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketRequestPaymentRequest method.
+// req, resp := client.GetBucketRequestPaymentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
+func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
+ op := &request.Operation{
+ Name: opGetBucketRequestPayment,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?requestPayment",
+ }
+
+ if input == nil {
+ input = &GetBucketRequestPaymentInput{}
+ }
+
+ output = &GetBucketRequestPaymentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketRequestPayment API operation for Amazon Simple Storage Service.
+//
+// Returns the request payment configuration of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketRequestPayment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
+func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
+ req, out := c.GetBucketRequestPaymentRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketRequestPayment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
+ req, out := c.GetBucketRequestPaymentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketTagging = "GetBucketTagging"
+
+// GetBucketTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketTagging for more information on using the GetBucketTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketTaggingRequest method.
+// req, resp := client.GetBucketTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
+func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
+ op := &request.Operation{
+ Name: opGetBucketTagging,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?tagging",
+ }
+
+ if input == nil {
+ input = &GetBucketTaggingInput{}
+ }
+
+ output = &GetBucketTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketTagging API operation for Amazon Simple Storage Service.
+//
+// Returns the tag set associated with the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
+func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
+ req, out := c.GetBucketTaggingRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
+ req, out := c.GetBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketVersioning = "GetBucketVersioning"
+
+// GetBucketVersioningRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketVersioning operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketVersioning for more information on using the GetBucketVersioning
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketVersioningRequest method.
+// req, resp := client.GetBucketVersioningRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
+func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
+ op := &request.Operation{
+ Name: opGetBucketVersioning,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?versioning",
+ }
+
+ if input == nil {
+ input = &GetBucketVersioningInput{}
+ }
+
+ output = &GetBucketVersioningOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketVersioning API operation for Amazon Simple Storage Service.
+//
+// Returns the versioning state of a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketVersioning for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
+func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
+ req, out := c.GetBucketVersioningRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketVersioning for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
+ req, out := c.GetBucketVersioningRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetBucketWebsite = "GetBucketWebsite"
+
+// GetBucketWebsiteRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketWebsite operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetBucketWebsite for more information on using the GetBucketWebsite
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetBucketWebsiteRequest method.
+// req, resp := client.GetBucketWebsiteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
+func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
+ op := &request.Operation{
+ Name: opGetBucketWebsite,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?website",
+ }
+
+ if input == nil {
+ input = &GetBucketWebsiteInput{}
+ }
+
+ output = &GetBucketWebsiteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketWebsite API operation for Amazon Simple Storage Service.
+//
+// Returns the website configuration for a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketWebsite for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
+func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
+ req, out := c.GetBucketWebsiteRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
+ req, out := c.GetBucketWebsiteRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/s3-2006-03-01/GetObject
+func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
+ op := &request.Operation{
+ Name: opGetObject,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &GetObjectInput{}
+ }
+
+ output = &GetObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetObject API operation for Amazon Simple Storage Service.
+//
+// Retrieves objects from 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 Simple Storage Service's
+// API operation GetObject for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchKey "NoSuchKey"
+// The specified key does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
+func (c *S3) 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 *S3) 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 opGetObjectAcl = "GetObjectAcl"
+
+// GetObjectAclRequest generates a "aws/request.Request" representing the
+// client's request for the GetObjectAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetObjectAcl for more information on using the GetObjectAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetObjectAclRequest method.
+// req, resp := client.GetObjectAclRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
+func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
+ op := &request.Operation{
+ Name: opGetObjectAcl,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}?acl",
+ }
+
+ if input == nil {
+ input = &GetObjectAclInput{}
+ }
+
+ output = &GetObjectAclOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetObjectAcl API operation for Amazon Simple Storage Service.
+//
+// Returns the access control list (ACL) of an 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 Amazon Simple Storage Service's
+// API operation GetObjectAcl for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchKey "NoSuchKey"
+// The specified key does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
+func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
+ req, out := c.GetObjectAclRequest(input)
+ return out, req.Send()
+}
+
+// GetObjectAclWithContext is the same as GetObjectAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
+ req, out := c.GetObjectAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetObjectTagging = "GetObjectTagging"
+
+// GetObjectTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the GetObjectTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetObjectTagging for more information on using the GetObjectTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetObjectTaggingRequest method.
+// req, resp := client.GetObjectTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
+func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
+ op := &request.Operation{
+ Name: opGetObjectTagging,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}?tagging",
+ }
+
+ if input == nil {
+ input = &GetObjectTaggingInput{}
+ }
+
+ output = &GetObjectTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetObjectTagging API operation for Amazon Simple Storage Service.
+//
+// Returns the tag-set of an 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 Amazon Simple Storage Service's
+// API operation GetObjectTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
+func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
+ req, out := c.GetObjectTaggingRequest(input)
+ return out, req.Send()
+}
+
+// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
+ req, out := c.GetObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetObjectTorrent = "GetObjectTorrent"
+
+// GetObjectTorrentRequest generates a "aws/request.Request" representing the
+// client's request for the GetObjectTorrent operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetObjectTorrent for more information on using the GetObjectTorrent
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetObjectTorrentRequest method.
+// req, resp := client.GetObjectTorrentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
+func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
+ op := &request.Operation{
+ Name: opGetObjectTorrent,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}?torrent",
+ }
+
+ if input == nil {
+ input = &GetObjectTorrentInput{}
+ }
+
+ output = &GetObjectTorrentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetObjectTorrent API operation for Amazon Simple Storage Service.
+//
+// Return torrent files from a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetObjectTorrent for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
+func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
+ req, out := c.GetObjectTorrentRequest(input)
+ return out, req.Send()
+}
+
+// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectTorrent for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
+ req, out := c.GetObjectTorrentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opHeadBucket = "HeadBucket"
+
+// HeadBucketRequest generates a "aws/request.Request" representing the
+// client's request for the HeadBucket operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See HeadBucket for more information on using the HeadBucket
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the HeadBucketRequest method.
+// req, resp := client.HeadBucketRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
+func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
+ op := &request.Operation{
+ Name: opHeadBucket,
+ HTTPMethod: "HEAD",
+ HTTPPath: "/{Bucket}",
+ }
+
+ if input == nil {
+ input = &HeadBucketInput{}
+ }
+
+ output = &HeadBucketOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// HeadBucket API operation for Amazon Simple Storage Service.
+//
+// This operation is useful to determine if a bucket exists and you have permission
+// to access it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation HeadBucket for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchBucket "NoSuchBucket"
+// The specified bucket does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
+func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
+ req, out := c.HeadBucketRequest(input)
+ return out, req.Send()
+}
+
+// HeadBucketWithContext is the same as HeadBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See HeadBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
+ req, out := c.HeadBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opHeadObject = "HeadObject"
+
+// HeadObjectRequest generates a "aws/request.Request" representing the
+// client's request for the HeadObject operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See HeadObject for more information on using the HeadObject
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the HeadObjectRequest method.
+// req, resp := client.HeadObjectRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
+func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
+ op := &request.Operation{
+ Name: opHeadObject,
+ HTTPMethod: "HEAD",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &HeadObjectInput{}
+ }
+
+ output = &HeadObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// HeadObject API operation for Amazon Simple Storage Service.
+//
+// The HEAD operation retrieves metadata from an object without returning the
+// object itself. This operation is useful if you're only interested in an object's
+// metadata. To use HEAD, you must have READ access to the object.
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
+// for more information on returned 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 Simple Storage Service's
+// API operation HeadObject for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
+func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
+ req, out := c.HeadObjectRequest(input)
+ return out, req.Send()
+}
+
+// HeadObjectWithContext is the same as HeadObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See HeadObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
+ req, out := c.HeadObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
+
+// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
+// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
+func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opListBucketAnalyticsConfigurations,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?analytics",
+ }
+
+ if input == nil {
+ input = &ListBucketAnalyticsConfigurationsInput{}
+ }
+
+ output = &ListBucketAnalyticsConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
+//
+// Lists the analytics configurations for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListBucketAnalyticsConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
+func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
+ req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketAnalyticsConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
+ req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
+
+// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the ListBucketInventoryConfigurations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
+// req, resp := client.ListBucketInventoryConfigurationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
+func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opListBucketInventoryConfigurations,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?inventory",
+ }
+
+ if input == nil {
+ input = &ListBucketInventoryConfigurationsInput{}
+ }
+
+ output = &ListBucketInventoryConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
+//
+// Returns a list of inventory configurations for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListBucketInventoryConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
+func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
+ req, out := c.ListBucketInventoryConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketInventoryConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
+ req, out := c.ListBucketInventoryConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
+
+// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the ListBucketMetricsConfigurations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
+// req, resp := client.ListBucketMetricsConfigurationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
+func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opListBucketMetricsConfigurations,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?metrics",
+ }
+
+ if input == nil {
+ input = &ListBucketMetricsConfigurationsInput{}
+ }
+
+ output = &ListBucketMetricsConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
+//
+// Lists the metrics configurations for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListBucketMetricsConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
+func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
+ req, out := c.ListBucketMetricsConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketMetricsConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
+ req, out := c.ListBucketMetricsConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListBuckets = "ListBuckets"
+
+// ListBucketsRequest generates a "aws/request.Request" representing the
+// client's request for the ListBuckets operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListBuckets for more information on using the ListBuckets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListBucketsRequest method.
+// req, resp := client.ListBucketsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
+func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
+ op := &request.Operation{
+ Name: opListBuckets,
+ HTTPMethod: "GET",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ListBucketsInput{}
+ }
+
+ output = &ListBucketsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListBuckets API operation for Amazon Simple Storage Service.
+//
+// Returns a list of all buckets owned by the authenticated sender of the request.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListBuckets for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
+func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
+ req, out := c.ListBucketsRequest(input)
+ return out, req.Send()
+}
+
+// ListBucketsWithContext is the same as ListBuckets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBuckets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
+ req, out := c.ListBucketsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListMultipartUploads = "ListMultipartUploads"
+
+// ListMultipartUploadsRequest generates a "aws/request.Request" representing the
+// client's request for the ListMultipartUploads operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListMultipartUploads for more information on using the ListMultipartUploads
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListMultipartUploadsRequest method.
+// req, resp := client.ListMultipartUploadsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
+func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
+ op := &request.Operation{
+ Name: opListMultipartUploads,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?uploads",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"KeyMarker", "UploadIdMarker"},
+ OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
+ LimitToken: "MaxUploads",
+ TruncationToken: "IsTruncated",
+ },
+ }
+
+ if input == nil {
+ input = &ListMultipartUploadsInput{}
+ }
+
+ output = &ListMultipartUploadsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListMultipartUploads API operation for Amazon Simple Storage Service.
+//
+// This operation lists in-progress multipart uploads.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation ListMultipartUploads for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
+func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
+ req, out := c.ListMultipartUploadsRequest(input)
+ return out, req.Send()
+}
+
+// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListMultipartUploads for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
+ req, out := c.ListMultipartUploadsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListMultipartUploads 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 ListMultipartUploads operation.
+// pageNum := 0
+// err := client.ListMultipartUploadsPages(params,
+// func(page *ListMultipartUploadsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
+ return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages 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 *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListMultipartUploadsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListMultipartUploadsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opListObjectVersions = "ListObjectVersions"
+
+// ListObjectVersionsRequest generates a "aws/request.Request" representing the
+// client's request for the ListObjectVersions operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListObjectVersions for more information on using the ListObjectVersions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListObjectVersionsRequest method.
+// req, resp := client.ListObjectVersionsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
+func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
+ op := &request.Operation{
+ Name: opListObjectVersions,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?versions",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"KeyMarker", "VersionIdMarker"},
+ OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
+ LimitToken: "MaxKeys",
+ TruncationToken: "IsTruncated",
+ },
+ }
+
+ if input == nil {
+ input = &ListObjectVersionsInput{}
+ }
+
+ output = &ListObjectVersionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListObjectVersions API operation for Amazon Simple Storage Service.
+//
+// Returns metadata about all of the versions of objects in a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListObjectVersions for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
+func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
+ req, out := c.ListObjectVersionsRequest(input)
+ return out, req.Send()
+}
+
+// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjectVersions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
+ req, out := c.ListObjectVersionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListObjectVersions 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 ListObjectVersions operation.
+// pageNum := 0
+// err := client.ListObjectVersionsPages(params,
+// func(page *ListObjectVersionsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
+ return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages 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 *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectVersionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectVersionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opListObjects = "ListObjects"
+
+// ListObjectsRequest generates a "aws/request.Request" representing the
+// client's request for the ListObjects operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListObjects for more information on using the ListObjects
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListObjectsRequest method.
+// req, resp := client.ListObjectsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
+func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
+ op := &request.Operation{
+ Name: opListObjects,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"Marker"},
+ OutputTokens: []string{"NextMarker || Contents[-1].Key"},
+ LimitToken: "MaxKeys",
+ TruncationToken: "IsTruncated",
+ },
+ }
+
+ if input == nil {
+ input = &ListObjectsInput{}
+ }
+
+ output = &ListObjectsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListObjects API operation for Amazon Simple Storage Service.
+//
+// Returns some or all (up to 1000) of the objects in a bucket. You can use
+// the request parameters as selection criteria to return a subset of the objects
+// in a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListObjects for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchBucket "NoSuchBucket"
+// The specified bucket does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
+func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
+ req, out := c.ListObjectsRequest(input)
+ return out, req.Send()
+}
+
+// ListObjectsWithContext is the same as ListObjects with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjects for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
+ req, out := c.ListObjectsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListObjectsPages iterates over the pages of a ListObjects operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListObjects 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 ListObjects operation.
+// pageNum := 0
+// err := client.ListObjectsPages(params,
+// func(page *ListObjectsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
+ return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectsPagesWithContext same as ListObjectsPages 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 *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opListObjectsV2 = "ListObjectsV2"
+
+// ListObjectsV2Request generates a "aws/request.Request" representing the
+// client's request for the ListObjectsV2 operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListObjectsV2 for more information on using the ListObjectsV2
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListObjectsV2Request method.
+// req, resp := client.ListObjectsV2Request(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
+func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
+ op := &request.Operation{
+ Name: opListObjectsV2,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?list-type=2",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"ContinuationToken"},
+ OutputTokens: []string{"NextContinuationToken"},
+ LimitToken: "MaxKeys",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &ListObjectsV2Input{}
+ }
+
+ output = &ListObjectsV2Output{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListObjectsV2 API operation for Amazon Simple Storage Service.
+//
+// Returns some or all (up to 1000) of the objects in a bucket. You can use
+// the request parameters as selection criteria to return a subset of the objects
+// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
+// you use this revised API for new application development.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation ListObjectsV2 for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchBucket "NoSuchBucket"
+// The specified bucket does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
+func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
+ req, out := c.ListObjectsV2Request(input)
+ return out, req.Send()
+}
+
+// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjectsV2 for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
+ req, out := c.ListObjectsV2Request(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListObjectsV2 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 ListObjectsV2 operation.
+// pageNum := 0
+// err := client.ListObjectsV2Pages(params,
+// func(page *ListObjectsV2Output, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
+ return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectsV2PagesWithContext same as ListObjectsV2Pages 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 *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectsV2Input
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectsV2Request(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opListParts = "ListParts"
+
+// ListPartsRequest generates a "aws/request.Request" representing the
+// client's request for the ListParts operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListParts for more information on using the ListParts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListPartsRequest method.
+// req, resp := client.ListPartsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
+func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
+ op := &request.Operation{
+ Name: opListParts,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"PartNumberMarker"},
+ OutputTokens: []string{"NextPartNumberMarker"},
+ LimitToken: "MaxParts",
+ TruncationToken: "IsTruncated",
+ },
+ }
+
+ if input == nil {
+ input = &ListPartsInput{}
+ }
+
+ output = &ListPartsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListParts API operation for Amazon Simple Storage Service.
+//
+// Lists the parts that have been uploaded for a specific multipart upload.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation ListParts for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
+func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
+ req, out := c.ListPartsRequest(input)
+ return out, req.Send()
+}
+
+// ListPartsWithContext is the same as ListParts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListParts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
+ req, out := c.ListPartsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListPartsPages iterates over the pages of a ListParts operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListParts 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 ListParts operation.
+// pageNum := 0
+// err := client.ListPartsPages(params,
+// func(page *ListPartsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
+ return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListPartsPagesWithContext same as ListPartsPages 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 *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListPartsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListPartsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
+ }
+ return p.Err()
+}
+
+const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
+
+// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketAccelerateConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
+// req, resp := client.PutBucketAccelerateConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
+func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketAccelerateConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?accelerate",
+ }
+
+ if input == nil {
+ input = &PutBucketAccelerateConfigurationInput{}
+ }
+
+ output = &PutBucketAccelerateConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
+//
+// Sets the accelerate configuration of an existing bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketAccelerateConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
+func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
+ req, out := c.PutBucketAccelerateConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAccelerateConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
+ req, out := c.PutBucketAccelerateConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketAcl = "PutBucketAcl"
+
+// PutBucketAclRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketAcl for more information on using the PutBucketAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketAclRequest method.
+// req, resp := client.PutBucketAclRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
+func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
+ op := &request.Operation{
+ Name: opPutBucketAcl,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?acl",
+ }
+
+ if input == nil {
+ input = &PutBucketAclInput{}
+ }
+
+ output = &PutBucketAclOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketAcl API operation for Amazon Simple Storage Service.
+//
+// Sets the permissions on a bucket using access control lists (ACL).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation PutBucketAcl for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
+func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
+ req, out := c.PutBucketAclRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketAclWithContext is the same as PutBucketAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
+ req, out := c.PutBucketAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
+
+// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
+// req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
+func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketAnalyticsConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?analytics",
+ }
+
+ if input == nil {
+ input = &PutBucketAnalyticsConfigurationInput{}
+ }
+
+ output = &PutBucketAnalyticsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Sets an analytics configuration for the bucket (specified by the analytics
+// configuration ID).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketAnalyticsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
+func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.PutBucketAnalyticsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.PutBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketCors = "PutBucketCors"
+
+// PutBucketCorsRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketCors operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketCors for more information on using the PutBucketCors
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketCorsRequest method.
+// req, resp := client.PutBucketCorsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
+func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
+ op := &request.Operation{
+ Name: opPutBucketCors,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?cors",
+ }
+
+ if input == nil {
+ input = &PutBucketCorsInput{}
+ }
+
+ output = &PutBucketCorsOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketCors API operation for Amazon Simple Storage Service.
+//
+// Sets the cors configuration for a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketCors for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
+func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
+ req, out := c.PutBucketCorsRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketCorsWithContext is the same as PutBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
+ req, out := c.PutBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketEncryption = "PutBucketEncryption"
+
+// PutBucketEncryptionRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketEncryption operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketEncryption for more information on using the PutBucketEncryption
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketEncryptionRequest method.
+// req, resp := client.PutBucketEncryptionRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
+func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
+ op := &request.Operation{
+ Name: opPutBucketEncryption,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?encryption",
+ }
+
+ if input == nil {
+ input = &PutBucketEncryptionInput{}
+ }
+
+ output = &PutBucketEncryptionOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketEncryption API operation for Amazon Simple Storage Service.
+//
+// Creates a new server-side encryption configuration (or replaces an existing
+// one, if 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 Amazon Simple Storage Service's
+// API operation PutBucketEncryption for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
+func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
+ req, out := c.PutBucketEncryptionRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketEncryption for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
+ req, out := c.PutBucketEncryptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
+
+// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketInventoryConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketInventoryConfigurationRequest method.
+// req, resp := client.PutBucketInventoryConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
+func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketInventoryConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?inventory",
+ }
+
+ if input == nil {
+ input = &PutBucketInventoryConfigurationInput{}
+ }
+
+ output = &PutBucketInventoryConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
+//
+// Adds an inventory configuration (identified by the inventory ID) from the
+// bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketInventoryConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
+func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
+ req, out := c.PutBucketInventoryConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
+ req, out := c.PutBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketLifecycle = "PutBucketLifecycle"
+
+// PutBucketLifecycleRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketLifecycle operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketLifecycle for more information on using the PutBucketLifecycle
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketLifecycleRequest method.
+// req, resp := client.PutBucketLifecycleRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
+func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
+ if c.Client.Config.Logger != nil {
+ c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
+ }
+ op := &request.Operation{
+ Name: opPutBucketLifecycle,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?lifecycle",
+ }
+
+ if input == nil {
+ input = &PutBucketLifecycleInput{}
+ }
+
+ output = &PutBucketLifecycleOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketLifecycle API operation for Amazon Simple Storage Service.
+//
+// Deprecated, see the PutBucketLifecycleConfiguration operation.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketLifecycle for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
+func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
+ req, out := c.PutBucketLifecycleRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
+ req, out := c.PutBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
+
+// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketLifecycleConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
+// req, resp := client.PutBucketLifecycleConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
+func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketLifecycleConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?lifecycle",
+ }
+
+ if input == nil {
+ input = &PutBucketLifecycleConfigurationInput{}
+ }
+
+ output = &PutBucketLifecycleConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
+//
+// Sets lifecycle configuration for your bucket. If a lifecycle configuration
+// exists, it replaces it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketLifecycleConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
+func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
+ req, out := c.PutBucketLifecycleConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLifecycleConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
+ req, out := c.PutBucketLifecycleConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketLogging = "PutBucketLogging"
+
+// PutBucketLoggingRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketLogging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketLogging for more information on using the PutBucketLogging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketLoggingRequest method.
+// req, resp := client.PutBucketLoggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
+func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
+ op := &request.Operation{
+ Name: opPutBucketLogging,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?logging",
+ }
+
+ if input == nil {
+ input = &PutBucketLoggingInput{}
+ }
+
+ output = &PutBucketLoggingOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketLogging API operation for Amazon Simple Storage Service.
+//
+// Set the logging parameters for a bucket and to specify permissions for who
+// can view and modify the logging parameters. To set the logging status of
+// a bucket, you must be the bucket owner.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation PutBucketLogging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
+func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
+ req, out := c.PutBucketLoggingRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLogging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
+ req, out := c.PutBucketLoggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
+
+// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketMetricsConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketMetricsConfigurationRequest method.
+// req, resp := client.PutBucketMetricsConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
+func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketMetricsConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?metrics",
+ }
+
+ if input == nil {
+ input = &PutBucketMetricsConfigurationInput{}
+ }
+
+ output = &PutBucketMetricsConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
+//
+// Sets a metrics configuration (specified by the metrics configuration ID)
+// for the bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketMetricsConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
+func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
+ req, out := c.PutBucketMetricsConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
+ req, out := c.PutBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketNotification = "PutBucketNotification"
+
+// PutBucketNotificationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketNotification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketNotification for more information on using the PutBucketNotification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketNotificationRequest method.
+// req, resp := client.PutBucketNotificationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
+func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
+ if c.Client.Config.Logger != nil {
+ c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
+ }
+ op := &request.Operation{
+ Name: opPutBucketNotification,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?notification",
+ }
+
+ if input == nil {
+ input = &PutBucketNotificationInput{}
+ }
+
+ output = &PutBucketNotificationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketNotification API operation for Amazon Simple Storage Service.
+//
+// Deprecated, see the PutBucketNotificationConfiguraiton operation.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketNotification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
+func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
+ req, out := c.PutBucketNotificationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
+ req, out := c.PutBucketNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
+
+// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketNotificationConfiguration operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketNotificationConfigurationRequest method.
+// req, resp := client.PutBucketNotificationConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
+func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketNotificationConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?notification",
+ }
+
+ if input == nil {
+ input = &PutBucketNotificationConfigurationInput{}
+ }
+
+ output = &PutBucketNotificationConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
+//
+// Enables notifications of specified events for a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketNotificationConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
+func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
+ req, out := c.PutBucketNotificationConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketNotificationConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
+ req, out := c.PutBucketNotificationConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketPolicy = "PutBucketPolicy"
+
+// PutBucketPolicyRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketPolicy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketPolicy for more information on using the PutBucketPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketPolicyRequest method.
+// req, resp := client.PutBucketPolicyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
+func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
+ op := &request.Operation{
+ Name: opPutBucketPolicy,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?policy",
+ }
+
+ if input == nil {
+ input = &PutBucketPolicyInput{}
+ }
+
+ output = &PutBucketPolicyOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketPolicy API operation for Amazon Simple Storage Service.
+//
+// Replaces a policy on a bucket. If the bucket already has a policy, the one
+// in this request completely replaces it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketPolicy for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
+func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
+ req, out := c.PutBucketPolicyRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
+ req, out := c.PutBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketReplication = "PutBucketReplication"
+
+// PutBucketReplicationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketReplication operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketReplication for more information on using the PutBucketReplication
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketReplicationRequest method.
+// req, resp := client.PutBucketReplicationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
+func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketReplication,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?replication",
+ }
+
+ if input == nil {
+ input = &PutBucketReplicationInput{}
+ }
+
+ output = &PutBucketReplicationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketReplication API operation for Amazon Simple Storage Service.
+//
+// Creates a new replication configuration (or replaces an existing one, if
+// 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 Amazon Simple Storage Service's
+// API operation PutBucketReplication for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
+func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
+ req, out := c.PutBucketReplicationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
+ req, out := c.PutBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketRequestPayment = "PutBucketRequestPayment"
+
+// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketRequestPayment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketRequestPaymentRequest method.
+// req, resp := client.PutBucketRequestPaymentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
+func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
+ op := &request.Operation{
+ Name: opPutBucketRequestPayment,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?requestPayment",
+ }
+
+ if input == nil {
+ input = &PutBucketRequestPaymentInput{}
+ }
+
+ output = &PutBucketRequestPaymentOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketRequestPayment API operation for Amazon Simple Storage Service.
+//
+// Sets the request payment configuration for a bucket. By default, the bucket
+// owner pays for downloads from the bucket. This configuration parameter enables
+// the bucket owner (only) to specify that the person requesting the download
+// will be charged for the download. Documentation on requester pays buckets
+// can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketRequestPayment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
+func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
+ req, out := c.PutBucketRequestPaymentRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketRequestPayment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
+ req, out := c.PutBucketRequestPaymentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketTagging = "PutBucketTagging"
+
+// PutBucketTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketTagging for more information on using the PutBucketTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketTaggingRequest method.
+// req, resp := client.PutBucketTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
+func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
+ op := &request.Operation{
+ Name: opPutBucketTagging,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?tagging",
+ }
+
+ if input == nil {
+ input = &PutBucketTaggingInput{}
+ }
+
+ output = &PutBucketTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketTagging API operation for Amazon Simple Storage Service.
+//
+// Sets the tags for a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
+func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
+ req, out := c.PutBucketTaggingRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
+ req, out := c.PutBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketVersioning = "PutBucketVersioning"
+
+// PutBucketVersioningRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketVersioning operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketVersioning for more information on using the PutBucketVersioning
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketVersioningRequest method.
+// req, resp := client.PutBucketVersioningRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
+func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
+ op := &request.Operation{
+ Name: opPutBucketVersioning,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?versioning",
+ }
+
+ if input == nil {
+ input = &PutBucketVersioningInput{}
+ }
+
+ output = &PutBucketVersioningOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketVersioning API operation for Amazon Simple Storage Service.
+//
+// Sets the versioning state of an existing bucket. To set the versioning state,
+// you must be the bucket owner.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation PutBucketVersioning for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
+func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
+ req, out := c.PutBucketVersioningRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketVersioning for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
+ req, out := c.PutBucketVersioningRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutBucketWebsite = "PutBucketWebsite"
+
+// PutBucketWebsiteRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketWebsite operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutBucketWebsite for more information on using the PutBucketWebsite
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutBucketWebsiteRequest method.
+// req, resp := client.PutBucketWebsiteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
+func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
+ op := &request.Operation{
+ Name: opPutBucketWebsite,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?website",
+ }
+
+ if input == nil {
+ input = &PutBucketWebsiteInput{}
+ }
+
+ output = &PutBucketWebsiteOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketWebsite API operation for Amazon Simple Storage Service.
+//
+// Set the website configuration for a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketWebsite for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
+func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
+ req, out := c.PutBucketWebsiteRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
+ req, out := c.PutBucketWebsiteRequest(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
+// successfuly.
+//
+// Use "Send" method on the 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/s3-2006-03-01/PutObject
+func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
+ op := &request.Operation{
+ Name: opPutObject,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &PutObjectInput{}
+ }
+
+ output = &PutObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PutObject API operation for Amazon Simple Storage Service.
+//
+// Adds an object to a bucket.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutObject for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
+func (c *S3) 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 *S3) 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()
+}
+
+const opPutObjectAcl = "PutObjectAcl"
+
+// PutObjectAclRequest generates a "aws/request.Request" representing the
+// client's request for the PutObjectAcl operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutObjectAcl for more information on using the PutObjectAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutObjectAclRequest method.
+// req, resp := client.PutObjectAclRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
+func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
+ op := &request.Operation{
+ Name: opPutObjectAcl,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}?acl",
+ }
+
+ if input == nil {
+ input = &PutObjectAclInput{}
+ }
+
+ output = &PutObjectAclOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PutObjectAcl API operation for Amazon Simple Storage Service.
+//
+// uses the acl subresource to set the access control list (ACL) permissions
+// for an object that already exists in a bucket
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutObjectAcl for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchKey "NoSuchKey"
+// The specified key does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
+func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
+ req, out := c.PutObjectAclRequest(input)
+ return out, req.Send()
+}
+
+// PutObjectAclWithContext is the same as PutObjectAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutObjectAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
+ req, out := c.PutObjectAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opPutObjectTagging = "PutObjectTagging"
+
+// PutObjectTaggingRequest generates a "aws/request.Request" representing the
+// client's request for the PutObjectTagging operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutObjectTagging for more information on using the PutObjectTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutObjectTaggingRequest method.
+// req, resp := client.PutObjectTaggingRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
+func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
+ op := &request.Operation{
+ Name: opPutObjectTagging,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}?tagging",
+ }
+
+ if input == nil {
+ input = &PutObjectTaggingInput{}
+ }
+
+ output = &PutObjectTaggingOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// PutObjectTagging API operation for Amazon Simple Storage Service.
+//
+// Sets the supplied tag-set to an object that already exists in a bucket
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutObjectTagging for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
+func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
+ req, out := c.PutObjectTaggingRequest(input)
+ return out, req.Send()
+}
+
+// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
+ req, out := c.PutObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRestoreObject = "RestoreObject"
+
+// RestoreObjectRequest generates a "aws/request.Request" representing the
+// client's request for the RestoreObject operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RestoreObject for more information on using the RestoreObject
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RestoreObjectRequest method.
+// req, resp := client.RestoreObjectRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
+func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
+ op := &request.Operation{
+ Name: opRestoreObject,
+ HTTPMethod: "POST",
+ HTTPPath: "/{Bucket}/{Key+}?restore",
+ }
+
+ if input == nil {
+ input = &RestoreObjectInput{}
+ }
+
+ output = &RestoreObjectOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RestoreObject API operation for Amazon Simple Storage Service.
+//
+// Restores an archived copy of an object back into 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 Simple Storage Service's
+// API operation RestoreObject for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
+// This operation is not allowed against this storage tier
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
+func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
+ req, out := c.RestoreObjectRequest(input)
+ return out, req.Send()
+}
+
+// RestoreObjectWithContext is the same as RestoreObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RestoreObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
+ req, out := c.RestoreObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opSelectObjectContent = "SelectObjectContent"
+
+// SelectObjectContentRequest generates a "aws/request.Request" representing the
+// client's request for the SelectObjectContent operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See SelectObjectContent for more information on using the SelectObjectContent
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the SelectObjectContentRequest method.
+// req, resp := client.SelectObjectContentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
+func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
+ op := &request.Operation{
+ Name: opSelectObjectContent,
+ HTTPMethod: "POST",
+ HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
+ }
+
+ if input == nil {
+ input = &SelectObjectContentInput{}
+ }
+
+ output = &SelectObjectContentOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
+ req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
+ req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
+ return
+}
+
+// SelectObjectContent API operation for Amazon Simple Storage Service.
+//
+// This operation filters the contents of an Amazon S3 object based on a simple
+// Structured Query Language (SQL) statement. In the request, along with the
+// SQL expression, you must also specify a data serialization format (JSON or
+// CSV) of the object. Amazon S3 uses this to parse object data into records,
+// and returns only records that match the specified SQL expression. You must
+// also specify the data serialization format for the response.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation SelectObjectContent for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
+func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
+ req, out := c.SelectObjectContentRequest(input)
+ return out, req.Send()
+}
+
+// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
+// the ability to pass a context and additional request options.
+//
+// See SelectObjectContent for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
+ req, out := c.SelectObjectContentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUploadPart = "UploadPart"
+
+// UploadPartRequest generates a "aws/request.Request" representing the
+// client's request for the UploadPart operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UploadPart for more information on using the UploadPart
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UploadPartRequest method.
+// req, resp := client.UploadPartRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
+func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
+ op := &request.Operation{
+ Name: opUploadPart,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &UploadPartInput{}
+ }
+
+ output = &UploadPartOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UploadPart API operation for Amazon Simple Storage Service.
+//
+// Uploads a part in a multipart upload.
+//
+// Note: After you initiate multipart upload and upload one or more parts, you
+// must either complete or abort multipart upload in order to stop getting charged
+// for storage of the uploaded parts. Only after you either complete or abort
+// multipart upload, Amazon S3 frees up the parts storage and stops charging
+// you for the parts storage.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation UploadPart for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
+func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
+ req, out := c.UploadPartRequest(input)
+ return out, req.Send()
+}
+
+// UploadPartWithContext is the same as UploadPart with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UploadPart for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
+ req, out := c.UploadPartRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUploadPartCopy = "UploadPartCopy"
+
+// UploadPartCopyRequest generates a "aws/request.Request" representing the
+// client's request for the UploadPartCopy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UploadPartCopy for more information on using the UploadPartCopy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UploadPartCopyRequest method.
+// req, resp := client.UploadPartCopyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
+func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
+ op := &request.Operation{
+ Name: opUploadPartCopy,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}/{Key+}",
+ }
+
+ if input == nil {
+ input = &UploadPartCopyInput{}
+ }
+
+ output = &UploadPartCopyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UploadPartCopy API operation for Amazon Simple Storage Service.
+//
+// Uploads a part by copying data from an existing object as data source.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Storage Service's
+// API operation UploadPartCopy for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
+func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
+ req, out := c.UploadPartCopyRequest(input)
+ return out, req.Send()
+}
+
+// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UploadPartCopy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
+ req, out := c.UploadPartCopyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// Specifies the days since the initiation of an Incomplete Multipart Upload
+// that Lifecycle will wait before permanently removing all parts of the upload.
+type AbortIncompleteMultipartUpload struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates the number of days that must pass since initiation for Lifecycle
+ // to abort an Incomplete Multipart Upload.
+ DaysAfterInitiation *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s AbortIncompleteMultipartUpload) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AbortIncompleteMultipartUpload) GoString() string {
+ return s.String()
+}
+
+// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
+func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
+ s.DaysAfterInitiation = &v
+ return s
+}
+
+type AbortMultipartUploadInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // UploadId is a required field
+ UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AbortMultipartUploadInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AbortMultipartUploadInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AbortMultipartUploadInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.UploadId == nil {
+ invalidParams.Add(request.NewErrParamRequired("UploadId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *AbortMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
+ s.UploadId = &v
+ return s
+}
+
+type AbortMultipartUploadOutput struct {
+ _ struct{} `type:"structure"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+}
+
+// String returns the string representation
+func (s AbortMultipartUploadOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AbortMultipartUploadOutput) GoString() string {
+ return s.String()
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+type AccelerateConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The accelerate configuration of the bucket.
+ Status *string `type:"string" enum:"BucketAccelerateStatus"`
+}
+
+// String returns the string representation
+func (s AccelerateConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccelerateConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
+ s.Status = &v
+ return s
+}
+
+type AccessControlPolicy struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grants.
+ Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
+
+ Owner *Owner `type:"structure"`
+}
+
+// String returns the string representation
+func (s AccessControlPolicy) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccessControlPolicy) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AccessControlPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
+ if s.Grants != nil {
+ for i, v := range s.Grants {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrants sets the Grants field's value.
+func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
+ s.Grants = v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
+ s.Owner = v
+ return s
+}
+
+// Container for information regarding the access control for replicas.
+type AccessControlTranslation struct {
+ _ struct{} `type:"structure"`
+
+ // The override value for the owner of the replica object.
+ //
+ // Owner is a required field
+ Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
+}
+
+// String returns the string representation
+func (s AccessControlTranslation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccessControlTranslation) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AccessControlTranslation) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
+ if s.Owner == nil {
+ invalidParams.Add(request.NewErrParamRequired("Owner"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetOwner sets the Owner field's value.
+func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
+ s.Owner = &v
+ return s
+}
+
+type AnalyticsAndOperator struct {
+ _ struct{} `type:"structure"`
+
+ // The prefix to use when evaluating an AND predicate.
+ Prefix *string `type:"string"`
+
+ // The list of tags to use when evaluating an AND predicate.
+ Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s AnalyticsAndOperator) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AnalyticsAndOperator) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AnalyticsAndOperator) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
+ 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
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
+ s.Prefix = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
+ s.Tags = v
+ return s
+}
+
+type AnalyticsConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The filter used to describe a set of objects for analyses. A filter must
+ // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
+ // If no filter is provided, all objects will be considered in any analysis.
+ Filter *AnalyticsFilter `type:"structure"`
+
+ // The identifier used to represent an analytics configuration.
+ //
+ // Id is a required field
+ Id *string `type:"string" required:"true"`
+
+ // If present, it indicates that data related to access patterns will be collected
+ // and made available to analyze the tradeoffs between different storage classes.
+ //
+ // StorageClassAnalysis is a required field
+ StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s AnalyticsConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AnalyticsConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AnalyticsConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.StorageClassAnalysis == nil {
+ invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
+ }
+ if s.Filter != nil {
+ if err := s.Filter.Validate(); err != nil {
+ invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.StorageClassAnalysis != nil {
+ if err := s.StorageClassAnalysis.Validate(); err != nil {
+ invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFilter sets the Filter field's value.
+func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
+func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
+ s.StorageClassAnalysis = v
+ return s
+}
+
+type AnalyticsExportDestination struct {
+ _ struct{} `type:"structure"`
+
+ // A destination signifying output to an S3 bucket.
+ //
+ // S3BucketDestination is a required field
+ S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s AnalyticsExportDestination) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AnalyticsExportDestination) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AnalyticsExportDestination) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
+ if s.S3BucketDestination == nil {
+ invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
+ }
+ if s.S3BucketDestination != nil {
+ if err := s.S3BucketDestination.Validate(); err != nil {
+ invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetS3BucketDestination sets the S3BucketDestination field's value.
+func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
+ s.S3BucketDestination = v
+ return s
+}
+
+type AnalyticsFilter struct {
+ _ struct{} `type:"structure"`
+
+ // A conjunction (logical AND) of predicates, which is used in evaluating an
+ // analytics filter. The operator must have at least two predicates.
+ And *AnalyticsAndOperator `type:"structure"`
+
+ // The prefix to use when evaluating an analytics filter.
+ Prefix *string `type:"string"`
+
+ // The tag to use when evaluating an analytics filter.
+ Tag *Tag `type:"structure"`
+}
+
+// String returns the string representation
+func (s AnalyticsFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AnalyticsFilter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AnalyticsFilter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
+ if s.And != nil {
+ if err := s.And.Validate(); err != nil {
+ invalidParams.AddNested("And", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tag != nil {
+ if err := s.Tag.Validate(); err != nil {
+ invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAnd sets the And field's value.
+func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
+ s.And = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
+ s.Prefix = &v
+ return s
+}
+
+// SetTag sets the Tag field's value.
+func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
+ s.Tag = v
+ return s
+}
+
+type AnalyticsS3BucketDestination struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon resource name (ARN) of the bucket to which data is exported.
+ //
+ // Bucket is a required field
+ Bucket *string `type:"string" required:"true"`
+
+ // The account ID that owns the destination bucket. If no account ID is provided,
+ // the owner will not be validated prior to exporting data.
+ BucketAccountId *string `type:"string"`
+
+ // The file format used when exporting data to Amazon S3.
+ //
+ // Format is a required field
+ Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
+
+ // The prefix to use when exporting data. The exported data begins with this
+ // prefix.
+ Prefix *string `type:"string"`
+}
+
+// String returns the string representation
+func (s AnalyticsS3BucketDestination) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AnalyticsS3BucketDestination) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AnalyticsS3BucketDestination) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Format == nil {
+ invalidParams.Add(request.NewErrParamRequired("Format"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
+ s.Bucket = &v
+ return s
+}
+
+func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetBucketAccountId sets the BucketAccountId field's value.
+func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
+ s.BucketAccountId = &v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
+ s.Format = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
+ s.Prefix = &v
+ return s
+}
+
+type Bucket struct {
+ _ struct{} `type:"structure"`
+
+ // Date the bucket was created.
+ CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // The name of the bucket.
+ Name *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Bucket) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Bucket) GoString() string {
+ return s.String()
+}
+
+// SetCreationDate sets the CreationDate field's value.
+func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
+ s.CreationDate = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *Bucket) SetName(v string) *Bucket {
+ s.Name = &v
+ return s
+}
+
+type BucketLifecycleConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Rules is a required field
+ Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s BucketLifecycleConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BucketLifecycleConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *BucketLifecycleConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
+ 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
+}
+
+// SetRules sets the Rules field's value.
+func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
+ s.Rules = v
+ return s
+}
+
+type BucketLoggingStatus struct {
+ _ struct{} `type:"structure"`
+
+ // Container for logging information. Presence of this element indicates that
+ // logging is enabled. Parameters TargetBucket and TargetPrefix are required
+ // in this case.
+ LoggingEnabled *LoggingEnabled `type:"structure"`
+}
+
+// String returns the string representation
+func (s BucketLoggingStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BucketLoggingStatus) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *BucketLoggingStatus) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
+ if s.LoggingEnabled != nil {
+ if err := s.LoggingEnabled.Validate(); err != nil {
+ invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLoggingEnabled sets the LoggingEnabled field's value.
+func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
+ s.LoggingEnabled = v
+ return s
+}
+
+type CORSConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // CORSRules is a required field
+ CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s CORSConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CORSConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CORSConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
+ if s.CORSRules == nil {
+ invalidParams.Add(request.NewErrParamRequired("CORSRules"))
+ }
+ if s.CORSRules != nil {
+ for i, v := range s.CORSRules {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCORSRules sets the CORSRules field's value.
+func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
+ s.CORSRules = v
+ return s
+}
+
+type CORSRule struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies which headers are allowed in a pre-flight OPTIONS request.
+ AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
+
+ // Identifies HTTP methods that the domain/origin specified in the rule is allowed
+ // to execute.
+ //
+ // AllowedMethods is a required field
+ AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
+
+ // One or more origins you want customers to be able to access the bucket from.
+ //
+ // AllowedOrigins is a required field
+ AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
+
+ // One or more headers in the response that you want customers to be able to
+ // access from their applications (for example, from a JavaScript XMLHttpRequest
+ // object).
+ ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
+
+ // The time in seconds that your browser is to cache the preflight response
+ // for the specified resource.
+ MaxAgeSeconds *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s CORSRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CORSRule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CORSRule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
+ if s.AllowedMethods == nil {
+ invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
+ }
+ if s.AllowedOrigins == nil {
+ invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAllowedHeaders sets the AllowedHeaders field's value.
+func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
+ s.AllowedHeaders = v
+ return s
+}
+
+// SetAllowedMethods sets the AllowedMethods field's value.
+func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
+ s.AllowedMethods = v
+ return s
+}
+
+// SetAllowedOrigins sets the AllowedOrigins field's value.
+func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
+ s.AllowedOrigins = v
+ return s
+}
+
+// SetExposeHeaders sets the ExposeHeaders field's value.
+func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
+ s.ExposeHeaders = v
+ return s
+}
+
+// SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
+func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
+ s.MaxAgeSeconds = &v
+ return s
+}
+
+// Describes how a CSV-formatted input object is formatted.
+type CSVInput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies that CSV field values may contain quoted record delimiters and
+ // such records should be allowed. Default value is FALSE. Setting this value
+ // to TRUE may lower performance.
+ AllowQuotedRecordDelimiter *bool `type:"boolean"`
+
+ // Single character used to indicate a row should be ignored when present at
+ // the start of a row.
+ Comments *string `type:"string"`
+
+ // Value used to separate individual fields in a record.
+ FieldDelimiter *string `type:"string"`
+
+ // Describes the first line of input. Valid values: None, Ignore, Use.
+ FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
+
+ // Value used for escaping where the field delimiter is part of the value.
+ QuoteCharacter *string `type:"string"`
+
+ // Single character used for escaping the quote character inside an already
+ // escaped value.
+ QuoteEscapeCharacter *string `type:"string"`
+
+ // Value used to separate individual records.
+ RecordDelimiter *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CSVInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CSVInput) GoString() string {
+ return s.String()
+}
+
+// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
+func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
+ s.AllowQuotedRecordDelimiter = &v
+ return s
+}
+
+// SetComments sets the Comments field's value.
+func (s *CSVInput) SetComments(v string) *CSVInput {
+ s.Comments = &v
+ return s
+}
+
+// SetFieldDelimiter sets the FieldDelimiter field's value.
+func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
+ s.FieldDelimiter = &v
+ return s
+}
+
+// SetFileHeaderInfo sets the FileHeaderInfo field's value.
+func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
+ s.FileHeaderInfo = &v
+ return s
+}
+
+// SetQuoteCharacter sets the QuoteCharacter field's value.
+func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
+ s.QuoteCharacter = &v
+ return s
+}
+
+// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
+func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
+ s.QuoteEscapeCharacter = &v
+ return s
+}
+
+// SetRecordDelimiter sets the RecordDelimiter field's value.
+func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
+ s.RecordDelimiter = &v
+ return s
+}
+
+// Describes how CSV-formatted results are formatted.
+type CSVOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Value used to separate individual fields in a record.
+ FieldDelimiter *string `type:"string"`
+
+ // Value used for escaping where the field delimiter is part of the value.
+ QuoteCharacter *string `type:"string"`
+
+ // Single character used for escaping the quote character inside an already
+ // escaped value.
+ QuoteEscapeCharacter *string `type:"string"`
+
+ // Indicates whether or not all output fields should be quoted.
+ QuoteFields *string `type:"string" enum:"QuoteFields"`
+
+ // Value used to separate individual records.
+ RecordDelimiter *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CSVOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CSVOutput) GoString() string {
+ return s.String()
+}
+
+// SetFieldDelimiter sets the FieldDelimiter field's value.
+func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
+ s.FieldDelimiter = &v
+ return s
+}
+
+// SetQuoteCharacter sets the QuoteCharacter field's value.
+func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
+ s.QuoteCharacter = &v
+ return s
+}
+
+// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
+func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
+ s.QuoteEscapeCharacter = &v
+ return s
+}
+
+// SetQuoteFields sets the QuoteFields field's value.
+func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
+ s.QuoteFields = &v
+ return s
+}
+
+// SetRecordDelimiter sets the RecordDelimiter field's value.
+func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
+ s.RecordDelimiter = &v
+ return s
+}
+
+type CloudFunctionConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ CloudFunction *string `type:"string"`
+
+ // Bucket event for which to send notifications.
+ Event *string `deprecated:"true" type:"string" enum:"Event"`
+
+ Events []*string `locationName:"Event" type:"list" flattened:"true"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ InvocationRole *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CloudFunctionConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CloudFunctionConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetCloudFunction sets the CloudFunction field's value.
+func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
+ s.CloudFunction = &v
+ return s
+}
+
+// SetEvent sets the Event field's value.
+func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
+ s.Event = &v
+ return s
+}
+
+// SetEvents sets the Events field's value.
+func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
+ s.Events = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetInvocationRole sets the InvocationRole field's value.
+func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
+ s.InvocationRole = &v
+ return s
+}
+
+type CommonPrefix struct {
+ _ struct{} `type:"structure"`
+
+ Prefix *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CommonPrefix) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CommonPrefix) GoString() string {
+ return s.String()
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
+ s.Prefix = &v
+ return s
+}
+
+type CompleteMultipartUploadInput struct {
+ _ struct{} `type:"structure" payload:"MultipartUpload"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // UploadId is a required field
+ UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CompleteMultipartUploadInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompleteMultipartUploadInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CompleteMultipartUploadInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.UploadId == nil {
+ invalidParams.Add(request.NewErrParamRequired("UploadId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CompleteMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
+ s.Key = &v
+ return s
+}
+
+// SetMultipartUpload sets the MultipartUpload field's value.
+func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
+ s.MultipartUpload = v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
+ s.UploadId = &v
+ return s
+}
+
+type CompleteMultipartUploadOutput struct {
+ _ struct{} `type:"structure"`
+
+ Bucket *string `type:"string"`
+
+ // Entity tag of the object.
+ ETag *string `type:"string"`
+
+ // If the object expiration is configured, this will contain the expiration
+ // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
+ Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
+
+ Key *string `min:"1" type:"string"`
+
+ Location *string `type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // Version of the object.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation
+func (s CompleteMultipartUploadOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompleteMultipartUploadOutput) GoString() string {
+ return s.String()
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetETag sets the ETag field's value.
+func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
+ s.Expiration = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
+ s.Key = &v
+ return s
+}
+
+// SetLocation sets the Location field's value.
+func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
+ s.Location = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
+ s.VersionId = &v
+ return s
+}
+
+type CompletedMultipartUpload struct {
+ _ struct{} `type:"structure"`
+
+ Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s CompletedMultipartUpload) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompletedMultipartUpload) GoString() string {
+ return s.String()
+}
+
+// SetParts sets the Parts field's value.
+func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
+ s.Parts = v
+ return s
+}
+
+type CompletedPart struct {
+ _ struct{} `type:"structure"`
+
+ // Entity tag returned when the part was uploaded.
+ ETag *string `type:"string"`
+
+ // Part number that identifies the part. This is a positive integer between
+ // 1 and 10,000.
+ PartNumber *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s CompletedPart) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompletedPart) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *CompletedPart) SetETag(v string) *CompletedPart {
+ s.ETag = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
+ s.PartNumber = &v
+ return s
+}
+
+type Condition struct {
+ _ struct{} `type:"structure"`
+
+ // The HTTP error code when the redirect is applied. In the event of an error,
+ // if the error code equals this value, then the specified redirect is applied.
+ // Required when parent element Condition is specified and sibling KeyPrefixEquals
+ // is not specified. If both are specified, then both must be true for the redirect
+ // to be applied.
+ HttpErrorCodeReturnedEquals *string `type:"string"`
+
+ // The object key name prefix when the redirect is applied. For example, to
+ // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
+ // To redirect request for all pages with the prefix docs/, the key prefix will
+ // be /docs, which identifies all objects in the docs/ folder. Required when
+ // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
+ // is not specified. If both conditions are specified, both must be true for
+ // the redirect to be applied.
+ KeyPrefixEquals *string `type:"string"`
+}
+
+// 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()
+}
+
+// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
+func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
+ s.HttpErrorCodeReturnedEquals = &v
+ return s
+}
+
+// SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
+func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
+ s.KeyPrefixEquals = &v
+ return s
+}
+
+type ContinuationEvent struct {
+ _ struct{} `locationName:"ContinuationEvent" type:"structure"`
+}
+
+// String returns the string representation
+func (s ContinuationEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ContinuationEvent) GoString() string {
+ return s.String()
+}
+
+// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
+func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
+
+// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
+// This method is only used internally within the SDK's EventStream handling.
+func (s *ContinuationEvent) UnmarshalEvent(
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ msg eventstream.Message,
+) error {
+ return nil
+}
+
+type CopyObjectInput struct {
+ _ struct{} `type:"structure"`
+
+ // The canned ACL to apply to the object.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Specifies caching behavior along the request/reply chain.
+ CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+
+ // Specifies presentational information for the object.
+ ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
+
+ // Specifies what content encodings have been applied to the object and thus
+ // what decoding mechanisms must be applied to obtain the media-type referenced
+ // by the Content-Type header field.
+ ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
+
+ // The language the content is in.
+ ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
+
+ // A standard MIME type describing the format of the object data.
+ ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
+
+ // The name of the source bucket and key name of the source object, separated
+ // by a slash (/). Must be URL-encoded.
+ //
+ // CopySource is a required field
+ CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
+
+ // Copies the object if its entity tag (ETag) matches the specified tag.
+ CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
+
+ // Copies the object if it has been modified since the specified time.
+ CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Copies the object if its entity tag (ETag) is different than the specified
+ // ETag.
+ CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
+
+ // Copies the object if it hasn't been modified since the specified time.
+ CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
+ CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
+ // the source object. The encryption key provided in this header must be one
+ // that was used when the source object was created.
+ CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // The date and time at which the object is no longer cacheable.
+ Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to read the object data and its metadata.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the object ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable object.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // A map of metadata to store with the object in S3.
+ Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
+
+ // Specifies whether the metadata is copied from the source object or replaced
+ // with metadata provided in the request.
+ MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
+ // requests for an object protected by AWS KMS will fail if not made via SSL
+ // or using SigV4. Documentation on configuring any of the officially supported
+ // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // The type of storage to use for the object. Defaults to 'STANDARD'.
+ StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+
+ // The tag-set for the object destination object this value must be used in
+ // conjunction with the TaggingDirective. The tag-set must be encoded as URL
+ // Query parameters
+ Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
+
+ // Specifies whether the object tag-set are copied from the source object or
+ // replaced with tag-set provided in the request.
+ TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
+
+ // If the bucket is configured as a website, redirects requests for this object
+ // to another object in the same bucket or to an external URL. Amazon S3 stores
+ // the value of this header in the object metadata.
+ WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
+}
+
+// String returns the string representation
+func (s CopyObjectInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyObjectInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CopyObjectInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.CopySource == nil {
+ invalidParams.Add(request.NewErrParamRequired("CopySource"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
+ s.ACL = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CopyObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCacheControl sets the CacheControl field's value.
+func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
+ s.CacheControl = &v
+ return s
+}
+
+// SetContentDisposition sets the ContentDisposition field's value.
+func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
+ s.ContentDisposition = &v
+ return s
+}
+
+// SetContentEncoding sets the ContentEncoding field's value.
+func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
+ s.ContentEncoding = &v
+ return s
+}
+
+// SetContentLanguage sets the ContentLanguage field's value.
+func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
+ s.ContentLanguage = &v
+ return s
+}
+
+// SetContentType sets the ContentType field's value.
+func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
+ s.ContentType = &v
+ return s
+}
+
+// SetCopySource sets the CopySource field's value.
+func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
+ s.CopySource = &v
+ return s
+}
+
+// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
+func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
+ s.CopySourceIfMatch = &v
+ return s
+}
+
+// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
+func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
+ s.CopySourceIfModifiedSince = &v
+ return s
+}
+
+// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
+func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
+ s.CopySourceIfNoneMatch = &v
+ return s
+}
+
+// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
+func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
+ s.CopySourceIfUnmodifiedSince = &v
+ return s
+}
+
+// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
+func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
+ s.CopySourceSSECustomerAlgorithm = &v
+ return s
+}
+
+// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
+func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
+ s.CopySourceSSECustomerKey = &v
+ return s
+}
+
+func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
+ if s.CopySourceSSECustomerKey == nil {
+ return v
+ }
+ return *s.CopySourceSSECustomerKey
+}
+
+// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
+func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
+ s.CopySourceSSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetExpires sets the Expires field's value.
+func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
+ s.Expires = &v
+ return s
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
+ s.Metadata = v
+ return s
+}
+
+// SetMetadataDirective sets the MetadataDirective field's value.
+func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
+ s.MetadataDirective = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *CopyObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
+ s.Tagging = &v
+ return s
+}
+
+// SetTaggingDirective sets the TaggingDirective field's value.
+func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
+ s.TaggingDirective = &v
+ return s
+}
+
+// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
+func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
+ s.WebsiteRedirectLocation = &v
+ return s
+}
+
+type CopyObjectOutput struct {
+ _ struct{} `type:"structure" payload:"CopyObjectResult"`
+
+ CopyObjectResult *CopyObjectResult `type:"structure"`
+
+ CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
+
+ // If the object expiration is configured, the response includes this header.
+ Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // Version ID of the newly created copy.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation
+func (s CopyObjectOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyObjectOutput) GoString() string {
+ return s.String()
+}
+
+// SetCopyObjectResult sets the CopyObjectResult field's value.
+func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
+ s.CopyObjectResult = v
+ return s
+}
+
+// SetCopySourceVersionId sets the CopySourceVersionId field's value.
+func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
+ s.CopySourceVersionId = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
+ s.Expiration = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
+ s.VersionId = &v
+ return s
+}
+
+type CopyObjectResult struct {
+ _ struct{} `type:"structure"`
+
+ ETag *string `type:"string"`
+
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s CopyObjectResult) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyObjectResult) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
+ s.ETag = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
+ s.LastModified = &v
+ return s
+}
+
+type CopyPartResult struct {
+ _ struct{} `type:"structure"`
+
+ // Entity tag of the object.
+ ETag *string `type:"string"`
+
+ // Date and time at which the object was uploaded.
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s CopyPartResult) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyPartResult) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
+ s.ETag = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
+ s.LastModified = &v
+ return s
+}
+
+type CreateBucketConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the region where the bucket will be created. If you don't specify
+ // a region, the bucket will be created in US Standard.
+ LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
+}
+
+// String returns the string representation
+func (s CreateBucketConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateBucketConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetLocationConstraint sets the LocationConstraint field's value.
+func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
+ s.LocationConstraint = &v
+ return s
+}
+
+type CreateBucketInput struct {
+ _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
+
+ // The canned ACL to apply to the bucket.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Allows grantee the read, write, read ACP, and write ACP permissions on the
+ // bucket.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to list the objects in the bucket.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the bucket ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to create, overwrite, and delete any object in the bucket.
+ GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable bucket.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateBucketInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateBucketInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateBucketInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
+ s.ACL = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CreateBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
+func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
+ s.CreateBucketConfiguration = v
+ return s
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWrite sets the GrantWrite field's value.
+func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
+ s.GrantWrite = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+type CreateBucketOutput struct {
+ _ struct{} `type:"structure"`
+
+ Location *string `location:"header" locationName:"Location" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateBucketOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateBucketOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocation sets the Location field's value.
+func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
+ s.Location = &v
+ return s
+}
+
+type CreateMultipartUploadInput struct {
+ _ struct{} `type:"structure"`
+
+ // The canned ACL to apply to the object.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Specifies caching behavior along the request/reply chain.
+ CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+
+ // Specifies presentational information for the object.
+ ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
+
+ // Specifies what content encodings have been applied to the object and thus
+ // what decoding mechanisms must be applied to obtain the media-type referenced
+ // by the Content-Type header field.
+ ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
+
+ // The language the content is in.
+ ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
+
+ // A standard MIME type describing the format of the object data.
+ ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
+
+ // The date and time at which the object is no longer cacheable.
+ Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to read the object data and its metadata.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the object ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable object.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // A map of metadata to store with the object in S3.
+ Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
+ // requests for an object protected by AWS KMS will fail if not made via SSL
+ // or using SigV4. Documentation on configuring any of the officially supported
+ // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // The type of storage to use for the object. Defaults to 'STANDARD'.
+ StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+
+ // The tag-set for the object. The tag-set must be encoded as URL Query parameters
+ Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
+
+ // If the bucket is configured as a website, redirects requests for this object
+ // to another object in the same bucket or to an external URL. Amazon S3 stores
+ // the value of this header in the object metadata.
+ WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateMultipartUploadInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateMultipartUploadInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateMultipartUploadInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
+ s.ACL = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CreateMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCacheControl sets the CacheControl field's value.
+func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
+ s.CacheControl = &v
+ return s
+}
+
+// SetContentDisposition sets the ContentDisposition field's value.
+func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
+ s.ContentDisposition = &v
+ return s
+}
+
+// SetContentEncoding sets the ContentEncoding field's value.
+func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
+ s.ContentEncoding = &v
+ return s
+}
+
+// SetContentLanguage sets the ContentLanguage field's value.
+func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
+ s.ContentLanguage = &v
+ return s
+}
+
+// SetContentType sets the ContentType field's value.
+func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
+ s.ContentType = &v
+ return s
+}
+
+// SetExpires sets the Expires field's value.
+func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
+ s.Expires = &v
+ return s
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
+ s.Key = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
+ s.Metadata = v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
+ s.Tagging = &v
+ return s
+}
+
+// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
+func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
+ s.WebsiteRedirectLocation = &v
+ return s
+}
+
+type CreateMultipartUploadOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Date when multipart upload will become eligible for abort operation by lifecycle.
+ AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Id of the lifecycle rule that makes a multipart upload eligible for abort
+ // operation.
+ AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
+
+ // Name of the bucket to which the multipart upload was initiated.
+ Bucket *string `locationName:"Bucket" type:"string"`
+
+ // Object key for which the multipart upload was initiated.
+ Key *string `min:"1" type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // ID for the initiated multipart upload.
+ UploadId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateMultipartUploadOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateMultipartUploadOutput) GoString() string {
+ return s.String()
+}
+
+// SetAbortDate sets the AbortDate field's value.
+func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
+ s.AbortDate = &v
+ return s
+}
+
+// SetAbortRuleId sets the AbortRuleId field's value.
+func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
+ s.AbortRuleId = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *CreateMultipartUploadOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
+ s.UploadId = &v
+ return s
+}
+
+type Delete struct {
+ _ struct{} `type:"structure"`
+
+ // Objects is a required field
+ Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
+
+ // Element to enable quiet mode for the request. When you add this element,
+ // you must set its value to true.
+ Quiet *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s Delete) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Delete) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Delete) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Delete"}
+ if s.Objects == nil {
+ invalidParams.Add(request.NewErrParamRequired("Objects"))
+ }
+ if s.Objects != nil {
+ for i, v := range s.Objects {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetObjects sets the Objects field's value.
+func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
+ s.Objects = v
+ return s
+}
+
+// SetQuiet sets the Quiet field's value.
+func (s *Delete) SetQuiet(v bool) *Delete {
+ s.Quiet = &v
+ return s
+}
+
+type DeleteBucketAnalyticsConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket from which an analytics configuration is deleted.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The identifier used to represent an analytics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketAnalyticsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type DeleteBucketAnalyticsConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketCorsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketCorsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketCorsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketCorsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketCorsOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketCorsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketCorsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketEncryptionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the server-side encryption configuration
+ // to delete.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketEncryptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketEncryptionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketEncryptionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketEncryptionOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketEncryptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketEncryptionOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketInventoryConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the inventory configuration to delete.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the inventory configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketInventoryConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketInventoryConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type DeleteBucketInventoryConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketInventoryConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketLifecycleInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketLifecycleInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketLifecycleInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketLifecycleInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketLifecycleOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketLifecycleOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketLifecycleOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketMetricsConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the metrics configuration to delete.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the metrics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketMetricsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketMetricsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type DeleteBucketMetricsConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketMetricsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketPolicyInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketPolicyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketPolicyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketPolicyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketPolicyOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketPolicyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketPolicyOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketReplicationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketReplicationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketReplicationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketReplicationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketReplicationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketReplicationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketReplicationOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketTaggingInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketTaggingOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketTaggingOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteBucketWebsiteInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketWebsiteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketWebsiteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketWebsiteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type DeleteBucketWebsiteOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketWebsiteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketWebsiteOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteMarkerEntry struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies whether the object is (true) or is not (false) the latest version
+ // of an object.
+ IsLatest *bool `type:"boolean"`
+
+ // The object key.
+ Key *string `min:"1" type:"string"`
+
+ // Date and time the object was last modified.
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ Owner *Owner `type:"structure"`
+
+ // Version ID of an object.
+ VersionId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteMarkerEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteMarkerEntry) GoString() string {
+ return s.String()
+}
+
+// SetIsLatest sets the IsLatest field's value.
+func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
+ s.IsLatest = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
+ s.Key = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
+ s.LastModified = &v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
+ s.Owner = v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
+ s.VersionId = &v
+ return s
+}
+
+type DeleteObjectInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // The concatenation of the authentication device's serial number, a space,
+ // and the value that is displayed on your authentication device.
+ MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // VersionId used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// 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.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetMFA sets the MFA field's value.
+func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
+ s.MFA = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
+ s.VersionId = &v
+ return s
+}
+
+type DeleteObjectOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies whether the versioned object that was permanently deleted was (true)
+ // or was not (false) a delete marker.
+ DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // Returns the version ID of the delete marker created as a result of the DELETE
+ // operation.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// 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()
+}
+
+// SetDeleteMarker sets the DeleteMarker field's value.
+func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
+ s.DeleteMarker = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
+ s.VersionId = &v
+ return s
+}
+
+type DeleteObjectTaggingInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // The versionId of the object that the tag-set will be removed from.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteObjectTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteObjectTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteObjectTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
+ s.Key = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
+ s.VersionId = &v
+ return s
+}
+
+type DeleteObjectTaggingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The versionId of the object the tag-set was removed from.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation
+func (s DeleteObjectTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteObjectTaggingOutput) GoString() string {
+ return s.String()
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
+ s.VersionId = &v
+ return s
+}
+
+type DeleteObjectsInput struct {
+ _ struct{} `type:"structure" payload:"Delete"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Delete is a required field
+ Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // The concatenation of the authentication device's serial number, a space,
+ // and the value that is displayed on your authentication device.
+ MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+}
+
+// String returns the string representation
+func (s DeleteObjectsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteObjectsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteObjectsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Delete == nil {
+ invalidParams.Add(request.NewErrParamRequired("Delete"))
+ }
+ if s.Delete != nil {
+ if err := s.Delete.Validate(); err != nil {
+ invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteObjectsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetDelete sets the Delete field's value.
+func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
+ s.Delete = v
+ return s
+}
+
+// SetMFA sets the MFA field's value.
+func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
+ s.MFA = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
+ s.RequestPayer = &v
+ return s
+}
+
+type DeleteObjectsOutput struct {
+ _ struct{} `type:"structure"`
+
+ Deleted []*DeletedObject `type:"list" flattened:"true"`
+
+ Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+}
+
+// String returns the string representation
+func (s DeleteObjectsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteObjectsOutput) GoString() string {
+ return s.String()
+}
+
+// SetDeleted sets the Deleted field's value.
+func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
+ s.Deleted = v
+ return s
+}
+
+// SetErrors sets the Errors field's value.
+func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
+ s.Errors = v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+type DeletedObject struct {
+ _ struct{} `type:"structure"`
+
+ DeleteMarker *bool `type:"boolean"`
+
+ DeleteMarkerVersionId *string `type:"string"`
+
+ Key *string `min:"1" type:"string"`
+
+ VersionId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DeletedObject) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeletedObject) GoString() string {
+ return s.String()
+}
+
+// SetDeleteMarker sets the DeleteMarker field's value.
+func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
+ s.DeleteMarker = &v
+ return s
+}
+
+// SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
+func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
+ s.DeleteMarkerVersionId = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *DeletedObject) SetKey(v string) *DeletedObject {
+ s.Key = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
+ s.VersionId = &v
+ return s
+}
+
+// Container for replication destination information.
+type Destination struct {
+ _ struct{} `type:"structure"`
+
+ // Container for information regarding the access control for replicas.
+ AccessControlTranslation *AccessControlTranslation `type:"structure"`
+
+ // Account ID of the destination bucket. Currently this is only being verified
+ // if Access Control Translation is enabled
+ Account *string `type:"string"`
+
+ // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store
+ // replicas of the object identified by the rule.
+ //
+ // Bucket is a required field
+ Bucket *string `type:"string" required:"true"`
+
+ // Container for information regarding encryption based configuration for replicas.
+ EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"StorageClass"`
+}
+
+// String returns the string representation
+func (s Destination) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Destination) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Destination) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Destination"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.AccessControlTranslation != nil {
+ if err := s.AccessControlTranslation.Validate(); err != nil {
+ invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccessControlTranslation sets the AccessControlTranslation field's value.
+func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
+ s.AccessControlTranslation = v
+ return s
+}
+
+// SetAccount sets the Account field's value.
+func (s *Destination) SetAccount(v string) *Destination {
+ s.Account = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *Destination) SetBucket(v string) *Destination {
+ s.Bucket = &v
+ return s
+}
+
+func (s *Destination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
+func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
+ s.EncryptionConfiguration = v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *Destination) SetStorageClass(v string) *Destination {
+ s.StorageClass = &v
+ return s
+}
+
+// Describes the server-side encryption that will be applied to the restore
+// results.
+type Encryption struct {
+ _ struct{} `type:"structure"`
+
+ // The server-side encryption algorithm used when storing job results in Amazon
+ // S3 (e.g., AES256, aws:kms).
+ //
+ // EncryptionType is a required field
+ EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
+
+ // If the encryption type is aws:kms, this optional value can be used to specify
+ // the encryption context for the restore results.
+ KMSContext *string `type:"string"`
+
+ // If the encryption type is aws:kms, this optional value specifies the AWS
+ // KMS key ID to use for encryption of job results.
+ KMSKeyId *string `type:"string"`
+}
+
+// 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.EncryptionType == nil {
+ invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEncryptionType sets the EncryptionType field's value.
+func (s *Encryption) SetEncryptionType(v string) *Encryption {
+ s.EncryptionType = &v
+ return s
+}
+
+// SetKMSContext sets the KMSContext field's value.
+func (s *Encryption) SetKMSContext(v string) *Encryption {
+ s.KMSContext = &v
+ return s
+}
+
+// SetKMSKeyId sets the KMSKeyId field's value.
+func (s *Encryption) SetKMSKeyId(v string) *Encryption {
+ s.KMSKeyId = &v
+ return s
+}
+
+// Container for information regarding encryption based configuration for replicas.
+type EncryptionConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The id of the KMS key used to encrypt the replica object.
+ ReplicaKmsKeyID *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()
+}
+
+// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
+func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
+ s.ReplicaKmsKeyID = &v
+ return s
+}
+
+type EndEvent struct {
+ _ struct{} `locationName:"EndEvent" type:"structure"`
+}
+
+// String returns the string representation
+func (s EndEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EndEvent) GoString() string {
+ return s.String()
+}
+
+// The EndEvent is and event in the SelectObjectContentEventStream group of events.
+func (s *EndEvent) eventSelectObjectContentEventStream() {}
+
+// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
+// This method is only used internally within the SDK's EventStream handling.
+func (s *EndEvent) UnmarshalEvent(
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ msg eventstream.Message,
+) error {
+ return nil
+}
+
+type Error struct {
+ _ struct{} `type:"structure"`
+
+ Code *string `type:"string"`
+
+ Key *string `min:"1" type:"string"`
+
+ Message *string `type:"string"`
+
+ VersionId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Error) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Error) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *Error) SetCode(v string) *Error {
+ s.Code = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *Error) SetKey(v string) *Error {
+ s.Key = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *Error) SetMessage(v string) *Error {
+ s.Message = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *Error) SetVersionId(v string) *Error {
+ s.VersionId = &v
+ return s
+}
+
+type ErrorDocument struct {
+ _ struct{} `type:"structure"`
+
+ // The object key name to use when a 4XX class error occurs.
+ //
+ // Key is a required field
+ Key *string `min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ErrorDocument) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ErrorDocument) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ErrorDocument) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ 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 *ErrorDocument) SetKey(v string) *ErrorDocument {
+ s.Key = &v
+ return s
+}
+
+// Container for key value pair that defines the criteria for the filter rule.
+type FilterRule struct {
+ _ struct{} `type:"structure"`
+
+ // Object key name prefix or suffix identifying one or more objects to which
+ // the filtering rule applies. Maximum prefix length can be up to 1,024 characters.
+ // Overlapping prefixes and suffixes are not supported. For more information,
+ // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+ Name *string `type:"string" enum:"FilterRuleName"`
+
+ Value *string `type:"string"`
+}
+
+// String returns the string representation
+func (s FilterRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FilterRule) GoString() string {
+ return s.String()
+}
+
+// SetName sets the Name field's value.
+func (s *FilterRule) SetName(v string) *FilterRule {
+ s.Name = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *FilterRule) SetValue(v string) *FilterRule {
+ s.Value = &v
+ return s
+}
+
+type GetBucketAccelerateConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the bucket for which the accelerate configuration is retrieved.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketAccelerateConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAccelerateConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketAccelerateConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketAccelerateConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The accelerate configuration of the bucket.
+ Status *string `type:"string" enum:"BucketAccelerateStatus"`
+}
+
+// String returns the string representation
+func (s GetBucketAccelerateConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAccelerateConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
+ s.Status = &v
+ return s
+}
+
+type GetBucketAclInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketAclOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grants.
+ Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
+
+ Owner *Owner `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAclOutput) GoString() string {
+ return s.String()
+}
+
+// SetGrants sets the Grants field's value.
+func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
+ s.Grants = v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
+ s.Owner = v
+ return s
+}
+
+type GetBucketAnalyticsConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket from which an analytics configuration is retrieved.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The identifier used to represent an analytics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketAnalyticsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAnalyticsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type GetBucketAnalyticsConfigurationOutput struct {
+ _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
+
+ // The configuration and any analyses for the analytics filter.
+ AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketAnalyticsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
+func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
+ s.AnalyticsConfiguration = v
+ return s
+}
+
+type GetBucketCorsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketCorsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketCorsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketCorsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketCorsOutput struct {
+ _ struct{} `type:"structure"`
+
+ CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketCorsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketCorsOutput) GoString() string {
+ return s.String()
+}
+
+// SetCORSRules sets the CORSRules field's value.
+func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
+ s.CORSRules = v
+ return s
+}
+
+type GetBucketEncryptionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket from which the server-side encryption configuration
+ // is retrieved.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketEncryptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketEncryptionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketEncryptionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketEncryptionInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketEncryptionOutput struct {
+ _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
+
+ // Container for server-side encryption configuration rules. Currently S3 supports
+ // one rule only.
+ ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketEncryptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketEncryptionOutput) GoString() string {
+ return s.String()
+}
+
+// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
+func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
+ s.ServerSideEncryptionConfiguration = v
+ return s
+}
+
+type GetBucketInventoryConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the inventory configuration to retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the inventory configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketInventoryConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketInventoryConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketInventoryConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type GetBucketInventoryConfigurationOutput struct {
+ _ struct{} `type:"structure" payload:"InventoryConfiguration"`
+
+ // Specifies the inventory configuration.
+ InventoryConfiguration *InventoryConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketInventoryConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketInventoryConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetInventoryConfiguration sets the InventoryConfiguration field's value.
+func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
+ s.InventoryConfiguration = v
+ return s
+}
+
+type GetBucketLifecycleConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLifecycleConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLifecycleConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketLifecycleConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketLifecycleConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+
+ Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLifecycleConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLifecycleConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetRules sets the Rules field's value.
+func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
+ s.Rules = v
+ return s
+}
+
+type GetBucketLifecycleInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLifecycleInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLifecycleInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketLifecycleInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketLifecycleOutput struct {
+ _ struct{} `type:"structure"`
+
+ Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLifecycleOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLifecycleOutput) GoString() string {
+ return s.String()
+}
+
+// SetRules sets the Rules field's value.
+func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
+ s.Rules = v
+ return s
+}
+
+type GetBucketLocationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLocationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLocationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketLocationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketLocationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketLocationOutput struct {
+ _ struct{} `type:"structure"`
+
+ LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
+}
+
+// String returns the string representation
+func (s GetBucketLocationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLocationOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocationConstraint sets the LocationConstraint field's value.
+func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
+ s.LocationConstraint = &v
+ return s
+}
+
+type GetBucketLoggingInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketLoggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLoggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketLoggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketLoggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketLoggingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Container for logging information. Presence of this element indicates that
+ // logging is enabled. Parameters TargetBucket and TargetPrefix are required
+ // in this case.
+ LoggingEnabled *LoggingEnabled `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketLoggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketLoggingOutput) GoString() string {
+ return s.String()
+}
+
+// SetLoggingEnabled sets the LoggingEnabled field's value.
+func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
+ s.LoggingEnabled = v
+ return s
+}
+
+type GetBucketMetricsConfigurationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the metrics configuration to retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the metrics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketMetricsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketMetricsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketMetricsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type GetBucketMetricsConfigurationOutput struct {
+ _ struct{} `type:"structure" payload:"MetricsConfiguration"`
+
+ // Specifies the metrics configuration.
+ MetricsConfiguration *MetricsConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketMetricsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketMetricsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetMetricsConfiguration sets the MetricsConfiguration field's value.
+func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
+ s.MetricsConfiguration = v
+ return s
+}
+
+type GetBucketNotificationConfigurationRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the bucket to get the notification configuration for.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketNotificationConfigurationRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketNotificationConfigurationRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketNotificationConfigurationRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketPolicyInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketPolicyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketPolicyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketPolicyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketPolicyOutput struct {
+ _ struct{} `type:"structure" payload:"Policy"`
+
+ // The bucket policy as a JSON document.
+ Policy *string `type:"string"`
+}
+
+// String returns the string representation
+func (s GetBucketPolicyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketPolicyOutput) GoString() string {
+ return s.String()
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
+ s.Policy = &v
+ return s
+}
+
+type GetBucketReplicationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketReplicationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketReplicationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketReplicationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketReplicationOutput struct {
+ _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
+
+ // Container for replication rules. You can add as many as 1,000 rules. Total
+ // replication configuration size can be up to 2 MB.
+ ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketReplicationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketReplicationOutput) GoString() string {
+ return s.String()
+}
+
+// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
+func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
+ s.ReplicationConfiguration = v
+ return s
+}
+
+type GetBucketRequestPaymentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketRequestPaymentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketRequestPaymentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketRequestPaymentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketRequestPaymentOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies who pays for the download and request fees.
+ Payer *string `type:"string" enum:"Payer"`
+}
+
+// String returns the string representation
+func (s GetBucketRequestPaymentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketRequestPaymentOutput) GoString() string {
+ return s.String()
+}
+
+// SetPayer sets the Payer field's value.
+func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
+ s.Payer = &v
+ return s
+}
+
+type GetBucketTaggingInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketTaggingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // TagSet is a required field
+ TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketTaggingOutput) GoString() string {
+ return s.String()
+}
+
+// SetTagSet sets the TagSet field's value.
+func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
+ s.TagSet = v
+ return s
+}
+
+type GetBucketVersioningInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketVersioningInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketVersioningInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketVersioningInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketVersioningInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketVersioningOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies whether MFA delete is enabled in the bucket versioning configuration.
+ // This element is only returned if the bucket has been configured with MFA
+ // delete. If the bucket has never been so configured, this element is not returned.
+ MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
+
+ // The versioning state of the bucket.
+ Status *string `type:"string" enum:"BucketVersioningStatus"`
+}
+
+// String returns the string representation
+func (s GetBucketVersioningOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketVersioningOutput) GoString() string {
+ return s.String()
+}
+
+// SetMFADelete sets the MFADelete field's value.
+func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
+ s.MFADelete = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
+ s.Status = &v
+ return s
+}
+
+type GetBucketWebsiteInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketWebsiteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketWebsiteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketWebsiteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type GetBucketWebsiteOutput struct {
+ _ struct{} `type:"structure"`
+
+ ErrorDocument *ErrorDocument `type:"structure"`
+
+ IndexDocument *IndexDocument `type:"structure"`
+
+ RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
+
+ RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
+}
+
+// String returns the string representation
+func (s GetBucketWebsiteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketWebsiteOutput) GoString() string {
+ return s.String()
+}
+
+// SetErrorDocument sets the ErrorDocument field's value.
+func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
+ s.ErrorDocument = v
+ return s
+}
+
+// SetIndexDocument sets the IndexDocument field's value.
+func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
+ s.IndexDocument = v
+ return s
+}
+
+// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
+func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
+ s.RedirectAllRequestsTo = v
+ return s
+}
+
+// SetRoutingRules sets the RoutingRules field's value.
+func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
+ s.RoutingRules = v
+ return s
+}
+
+type GetObjectAclInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // VersionId used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s GetObjectAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetObjectAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetObjectAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
+ s.VersionId = &v
+ return s
+}
+
+type GetObjectAclOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grants.
+ Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
+
+ Owner *Owner `type:"structure"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+}
+
+// String returns the string representation
+func (s GetObjectAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectAclOutput) GoString() string {
+ return s.String()
+}
+
+// SetGrants sets the Grants field's value.
+func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
+ s.Grants = v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
+ s.Owner = v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+type GetObjectInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Return the object only if its entity tag (ETag) is the same as the one specified,
+ // otherwise return a 412 (precondition failed).
+ IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
+
+ // Return the object only if it has been modified since the specified time,
+ // otherwise return a 304 (not modified).
+ IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Return the object only if its entity tag (ETag) is different from the one
+ // specified, otherwise return a 304 (not modified).
+ IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
+
+ // Return the object only if it has not been modified since the specified time,
+ // otherwise return a 412 (precondition failed).
+ IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Part number of the object being read. This is a positive integer between
+ // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
+ // Useful for downloading just a part of an object.
+ PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
+
+ // Downloads the specified range bytes of an object. For more information about
+ // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
+ Range *string `location:"header" locationName:"Range" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Sets the Cache-Control header of the response.
+ ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
+
+ // Sets the Content-Disposition header of the response
+ ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
+
+ // Sets the Content-Encoding header of the response.
+ ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
+
+ // Sets the Content-Language header of the response.
+ ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
+
+ // Sets the Content-Type header of the response.
+ ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
+
+ // Sets the Expires header of the response.
+ ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // VersionId used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" 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.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetIfMatch sets the IfMatch field's value.
+func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
+ s.IfMatch = &v
+ return s
+}
+
+// SetIfModifiedSince sets the IfModifiedSince field's value.
+func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
+ s.IfModifiedSince = &v
+ return s
+}
+
+// SetIfNoneMatch sets the IfNoneMatch field's value.
+func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
+ s.IfNoneMatch = &v
+ return s
+}
+
+// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
+func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
+ s.IfUnmodifiedSince = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
+ s.PartNumber = &v
+ return s
+}
+
+// SetRange sets the Range field's value.
+func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
+ s.Range = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetResponseCacheControl sets the ResponseCacheControl field's value.
+func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
+ s.ResponseCacheControl = &v
+ return s
+}
+
+// SetResponseContentDisposition sets the ResponseContentDisposition field's value.
+func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
+ s.ResponseContentDisposition = &v
+ return s
+}
+
+// SetResponseContentEncoding sets the ResponseContentEncoding field's value.
+func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
+ s.ResponseContentEncoding = &v
+ return s
+}
+
+// SetResponseContentLanguage sets the ResponseContentLanguage field's value.
+func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
+ s.ResponseContentLanguage = &v
+ return s
+}
+
+// SetResponseContentType sets the ResponseContentType field's value.
+func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
+ s.ResponseContentType = &v
+ return s
+}
+
+// SetResponseExpires sets the ResponseExpires field's value.
+func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
+ s.ResponseExpires = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *GetObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
+ s.VersionId = &v
+ return s
+}
+
+type GetObjectOutput struct {
+ _ struct{} `type:"structure" payload:"Body"`
+
+ AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
+
+ // Object data.
+ Body io.ReadCloser `type:"blob"`
+
+ // Specifies caching behavior along the request/reply chain.
+ CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+
+ // Specifies presentational information for the object.
+ ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
+
+ // Specifies what content encodings have been applied to the object and thus
+ // what decoding mechanisms must be applied to obtain the media-type referenced
+ // by the Content-Type header field.
+ ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
+
+ // The language the content is in.
+ ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
+
+ // Size of the body in bytes.
+ ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
+
+ // The portion of the object returned in the response.
+ ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
+
+ // A standard MIME type describing the format of the object data.
+ ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
+
+ // Specifies whether the object retrieved was (true) or was not (false) a Delete
+ // Marker. If false, this response header does not appear in the response.
+ DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
+
+ // An ETag is an opaque identifier assigned by a web server to a specific version
+ // of a resource found at a URL
+ ETag *string `location:"header" locationName:"ETag" type:"string"`
+
+ // If the object expiration is configured (see PUT Bucket lifecycle), the response
+ // includes this header. It includes the expiry-date and rule-id key value pairs
+ // providing object expiration information. The value of the rule-id is URL
+ // encoded.
+ Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
+
+ // The date and time at which the object is no longer cacheable.
+ Expires *string `location:"header" locationName:"Expires" type:"string"`
+
+ // Last modified date of the object
+ LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"`
+
+ // A map of metadata to store with the object in S3.
+ Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
+
+ // This is set to the number of metadata entries not returned in x-amz-meta
+ // headers. This can happen if you create metadata using an API like SOAP that
+ // supports more flexible metadata than the REST API. For example, using SOAP,
+ // you can create metadata whose values are not legal HTTP headers.
+ MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
+
+ // The count of parts this object has.
+ PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
+
+ ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // Provides information about object restoration operation and expiration time
+ // of the restored object copy.
+ Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+
+ // The number of tags, if any, on the object.
+ TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
+
+ // Version of the object.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+
+ // If the bucket is configured as a website, redirects requests for this object
+ // to another object in the same bucket or to an external URL. Amazon S3 stores
+ // the value of this header in the object metadata.
+ WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
+}
+
+// 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()
+}
+
+// SetAcceptRanges sets the AcceptRanges field's value.
+func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
+ s.AcceptRanges = &v
+ return s
+}
+
+// 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
+}
+
+// SetContentDisposition sets the ContentDisposition field's value.
+func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
+ s.ContentDisposition = &v
+ return s
+}
+
+// SetContentEncoding sets the ContentEncoding field's value.
+func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
+ s.ContentEncoding = &v
+ return s
+}
+
+// SetContentLanguage sets the ContentLanguage field's value.
+func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
+ s.ContentLanguage = &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
+}
+
+// SetDeleteMarker sets the DeleteMarker field's value.
+func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
+ s.DeleteMarker = &v
+ return s
+}
+
+// SetETag sets the ETag field's value.
+func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
+ s.Expiration = &v
+ return s
+}
+
+// SetExpires sets the Expires field's value.
+func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
+ s.Expires = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
+ s.LastModified = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
+ s.Metadata = v
+ return s
+}
+
+// SetMissingMeta sets the MissingMeta field's value.
+func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
+ s.MissingMeta = &v
+ return s
+}
+
+// SetPartsCount sets the PartsCount field's value.
+func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
+ s.PartsCount = &v
+ return s
+}
+
+// SetReplicationStatus sets the ReplicationStatus field's value.
+func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
+ s.ReplicationStatus = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetRestore sets the Restore field's value.
+func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
+ s.Restore = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetTagCount sets the TagCount field's value.
+func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
+ s.TagCount = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
+ s.VersionId = &v
+ return s
+}
+
+// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
+func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
+ s.WebsiteRedirectLocation = &v
+ return s
+}
+
+type GetObjectTaggingInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s GetObjectTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetObjectTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
+ s.Key = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
+ s.VersionId = &v
+ return s
+}
+
+type GetObjectTaggingOutput struct {
+ _ struct{} `type:"structure"`
+
+ // TagSet is a required field
+ TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
+
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation
+func (s GetObjectTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectTaggingOutput) GoString() string {
+ return s.String()
+}
+
+// SetTagSet sets the TagSet field's value.
+func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
+ s.TagSet = v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
+ s.VersionId = &v
+ return s
+}
+
+type GetObjectTorrentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+}
+
+// String returns the string representation
+func (s GetObjectTorrentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectTorrentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetObjectTorrentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetObjectTorrentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
+ s.RequestPayer = &v
+ return s
+}
+
+type GetObjectTorrentOutput struct {
+ _ struct{} `type:"structure" payload:"Body"`
+
+ Body io.ReadCloser `type:"blob"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+}
+
+// String returns the string representation
+func (s GetObjectTorrentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetObjectTorrentOutput) GoString() string {
+ return s.String()
+}
+
+// SetBody sets the Body field's value.
+func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
+ s.Body = v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+type GlacierJobParameters struct {
+ _ struct{} `type:"structure"`
+
+ // Glacier retrieval tier at which the restore will be processed.
+ //
+ // Tier is a required field
+ Tier *string `type:"string" required:"true" enum:"Tier"`
+}
+
+// String returns the string representation
+func (s GlacierJobParameters) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GlacierJobParameters) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GlacierJobParameters) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
+ if s.Tier == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tier"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetTier sets the Tier field's value.
+func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
+ s.Tier = &v
+ return s
+}
+
+type Grant struct {
+ _ struct{} `type:"structure"`
+
+ Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
+
+ // Specifies the permission given to the grantee.
+ Permission *string `type:"string" enum:"Permission"`
+}
+
+// String returns the string representation
+func (s Grant) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Grant) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Grant) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Grant"}
+ if s.Grantee != nil {
+ if err := s.Grantee.Validate(); err != nil {
+ invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrantee sets the Grantee field's value.
+func (s *Grant) SetGrantee(v *Grantee) *Grant {
+ s.Grantee = v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *Grant) SetPermission(v string) *Grant {
+ s.Permission = &v
+ return s
+}
+
+type Grantee struct {
+ _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
+
+ // Screen name of the grantee.
+ DisplayName *string `type:"string"`
+
+ // Email address of the grantee.
+ EmailAddress *string `type:"string"`
+
+ // The canonical user ID of the grantee.
+ ID *string `type:"string"`
+
+ // Type of grantee
+ //
+ // Type is a required field
+ Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
+
+ // URI of the grantee group.
+ URI *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Grantee) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Grantee) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Grantee) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Grantee"}
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDisplayName sets the DisplayName field's value.
+func (s *Grantee) SetDisplayName(v string) *Grantee {
+ s.DisplayName = &v
+ return s
+}
+
+// SetEmailAddress sets the EmailAddress field's value.
+func (s *Grantee) SetEmailAddress(v string) *Grantee {
+ s.EmailAddress = &v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *Grantee) SetID(v string) *Grantee {
+ s.ID = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *Grantee) SetType(v string) *Grantee {
+ s.Type = &v
+ return s
+}
+
+// SetURI sets the URI field's value.
+func (s *Grantee) SetURI(v string) *Grantee {
+ s.URI = &v
+ return s
+}
+
+type HeadBucketInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s HeadBucketInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HeadBucketInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HeadBucketInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *HeadBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type HeadBucketOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s HeadBucketOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HeadBucketOutput) GoString() string {
+ return s.String()
+}
+
+type HeadObjectInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Return the object only if its entity tag (ETag) is the same as the one specified,
+ // otherwise return a 412 (precondition failed).
+ IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
+
+ // Return the object only if it has been modified since the specified time,
+ // otherwise return a 304 (not modified).
+ IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Return the object only if its entity tag (ETag) is different from the one
+ // specified, otherwise return a 304 (not modified).
+ IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
+
+ // Return the object only if it has not been modified since the specified time,
+ // otherwise return a 412 (precondition failed).
+ IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Part number of the object being read. This is a positive integer between
+ // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
+ // Useful querying about the size of the part and the number of parts in this
+ // object.
+ PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
+
+ // Downloads the specified range bytes of an object. For more information about
+ // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
+ Range *string `location:"header" locationName:"Range" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // VersionId used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s HeadObjectInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HeadObjectInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HeadObjectInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *HeadObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetIfMatch sets the IfMatch field's value.
+func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
+ s.IfMatch = &v
+ return s
+}
+
+// SetIfModifiedSince sets the IfModifiedSince field's value.
+func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
+ s.IfModifiedSince = &v
+ return s
+}
+
+// SetIfNoneMatch sets the IfNoneMatch field's value.
+func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
+ s.IfNoneMatch = &v
+ return s
+}
+
+// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
+func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
+ s.IfUnmodifiedSince = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
+ s.PartNumber = &v
+ return s
+}
+
+// SetRange sets the Range field's value.
+func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
+ s.Range = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *HeadObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
+ s.VersionId = &v
+ return s
+}
+
+type HeadObjectOutput struct {
+ _ struct{} `type:"structure"`
+
+ AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
+
+ // Specifies caching behavior along the request/reply chain.
+ CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+
+ // Specifies presentational information for the object.
+ ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
+
+ // Specifies what content encodings have been applied to the object and thus
+ // what decoding mechanisms must be applied to obtain the media-type referenced
+ // by the Content-Type header field.
+ ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
+
+ // The language the content is in.
+ ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
+
+ // Size of the body in bytes.
+ ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
+
+ // A standard MIME type describing the format of the object data.
+ ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
+
+ // Specifies whether the object retrieved was (true) or was not (false) a Delete
+ // Marker. If false, this response header does not appear in the response.
+ DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
+
+ // An ETag is an opaque identifier assigned by a web server to a specific version
+ // of a resource found at a URL
+ ETag *string `location:"header" locationName:"ETag" type:"string"`
+
+ // If the object expiration is configured (see PUT Bucket lifecycle), the response
+ // includes this header. It includes the expiry-date and rule-id key value pairs
+ // providing object expiration information. The value of the rule-id is URL
+ // encoded.
+ Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
+
+ // The date and time at which the object is no longer cacheable.
+ Expires *string `location:"header" locationName:"Expires" type:"string"`
+
+ // Last modified date of the object
+ LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"`
+
+ // A map of metadata to store with the object in S3.
+ Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
+
+ // This is set to the number of metadata entries not returned in x-amz-meta
+ // headers. This can happen if you create metadata using an API like SOAP that
+ // supports more flexible metadata than the REST API. For example, using SOAP,
+ // you can create metadata whose values are not legal HTTP headers.
+ MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
+
+ // The count of parts this object has.
+ PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
+
+ ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // Provides information about object restoration operation and expiration time
+ // of the restored object copy.
+ Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+
+ // Version of the object.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+
+ // If the bucket is configured as a website, redirects requests for this object
+ // to another object in the same bucket or to an external URL. Amazon S3 stores
+ // the value of this header in the object metadata.
+ WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
+}
+
+// String returns the string representation
+func (s HeadObjectOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HeadObjectOutput) GoString() string {
+ return s.String()
+}
+
+// SetAcceptRanges sets the AcceptRanges field's value.
+func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
+ s.AcceptRanges = &v
+ return s
+}
+
+// SetCacheControl sets the CacheControl field's value.
+func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
+ s.CacheControl = &v
+ return s
+}
+
+// SetContentDisposition sets the ContentDisposition field's value.
+func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
+ s.ContentDisposition = &v
+ return s
+}
+
+// SetContentEncoding sets the ContentEncoding field's value.
+func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
+ s.ContentEncoding = &v
+ return s
+}
+
+// SetContentLanguage sets the ContentLanguage field's value.
+func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
+ s.ContentLanguage = &v
+ return s
+}
+
+// SetContentLength sets the ContentLength field's value.
+func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
+ s.ContentLength = &v
+ return s
+}
+
+// SetContentType sets the ContentType field's value.
+func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
+ s.ContentType = &v
+ return s
+}
+
+// SetDeleteMarker sets the DeleteMarker field's value.
+func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
+ s.DeleteMarker = &v
+ return s
+}
+
+// SetETag sets the ETag field's value.
+func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
+ s.Expiration = &v
+ return s
+}
+
+// SetExpires sets the Expires field's value.
+func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
+ s.Expires = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
+ s.LastModified = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
+ s.Metadata = v
+ return s
+}
+
+// SetMissingMeta sets the MissingMeta field's value.
+func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
+ s.MissingMeta = &v
+ return s
+}
+
+// SetPartsCount sets the PartsCount field's value.
+func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
+ s.PartsCount = &v
+ return s
+}
+
+// SetReplicationStatus sets the ReplicationStatus field's value.
+func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
+ s.ReplicationStatus = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetRestore sets the Restore field's value.
+func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
+ s.Restore = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
+ s.VersionId = &v
+ return s
+}
+
+// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
+func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
+ s.WebsiteRedirectLocation = &v
+ return s
+}
+
+type IndexDocument struct {
+ _ struct{} `type:"structure"`
+
+ // A suffix that is appended to a request that is for a directory on the website
+ // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
+ // the data that is returned will be for the object with the key name images/index.html)
+ // The suffix must not be empty and must not include a slash character.
+ //
+ // Suffix is a required field
+ Suffix *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s IndexDocument) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IndexDocument) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *IndexDocument) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
+ if s.Suffix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Suffix"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetSuffix sets the Suffix field's value.
+func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
+ s.Suffix = &v
+ return s
+}
+
+type Initiator struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the Principal.
+ DisplayName *string `type:"string"`
+
+ // If the principal is an AWS account, it provides the Canonical User ID. If
+ // the principal is an IAM User, it provides a user ARN value.
+ ID *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Initiator) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Initiator) GoString() string {
+ return s.String()
+}
+
+// SetDisplayName sets the DisplayName field's value.
+func (s *Initiator) SetDisplayName(v string) *Initiator {
+ s.DisplayName = &v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *Initiator) SetID(v string) *Initiator {
+ s.ID = &v
+ return s
+}
+
+// Describes the serialization format of the object.
+type InputSerialization struct {
+ _ struct{} `type:"structure"`
+
+ // Describes the serialization of a CSV-encoded object.
+ CSV *CSVInput `type:"structure"`
+
+ // Specifies object's compression format. Valid values: NONE, GZIP. Default
+ // Value: NONE.
+ CompressionType *string `type:"string" enum:"CompressionType"`
+
+ // Specifies JSON as object's input serialization format.
+ JSON *JSONInput `type:"structure"`
+}
+
+// String returns the string representation
+func (s InputSerialization) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InputSerialization) GoString() string {
+ return s.String()
+}
+
+// SetCSV sets the CSV field's value.
+func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
+ s.CSV = v
+ return s
+}
+
+// SetCompressionType sets the CompressionType field's value.
+func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
+ s.CompressionType = &v
+ return s
+}
+
+// SetJSON sets the JSON field's value.
+func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
+ s.JSON = v
+ return s
+}
+
+type InventoryConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Contains information about where to publish the inventory results.
+ //
+ // Destination is a required field
+ Destination *InventoryDestination `type:"structure" required:"true"`
+
+ // Specifies an inventory filter. The inventory only includes objects that meet
+ // the filter's criteria.
+ Filter *InventoryFilter `type:"structure"`
+
+ // The ID used to identify the inventory configuration.
+ //
+ // Id is a required field
+ Id *string `type:"string" required:"true"`
+
+ // Specifies which object version(s) to included in the inventory results.
+ //
+ // IncludedObjectVersions is a required field
+ IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
+
+ // Specifies whether the inventory is enabled or disabled.
+ //
+ // IsEnabled is a required field
+ IsEnabled *bool `type:"boolean" required:"true"`
+
+ // Contains the optional fields that are included in the inventory results.
+ OptionalFields []*string `locationNameList:"Field" type:"list"`
+
+ // Specifies the schedule for generating inventory results.
+ //
+ // Schedule is a required field
+ Schedule *InventorySchedule `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s InventoryConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventoryConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventoryConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
+ if s.Destination == nil {
+ invalidParams.Add(request.NewErrParamRequired("Destination"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.IncludedObjectVersions == nil {
+ invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
+ }
+ if s.IsEnabled == nil {
+ invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
+ }
+ if s.Schedule == nil {
+ invalidParams.Add(request.NewErrParamRequired("Schedule"))
+ }
+ if s.Destination != nil {
+ if err := s.Destination.Validate(); err != nil {
+ invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Filter != nil {
+ if err := s.Filter.Validate(); err != nil {
+ invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Schedule != nil {
+ if err := s.Schedule.Validate(); err != nil {
+ invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestination sets the Destination field's value.
+func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
+ s.Destination = v
+ return s
+}
+
+// SetFilter sets the Filter field's value.
+func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
+func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
+ s.IncludedObjectVersions = &v
+ return s
+}
+
+// SetIsEnabled sets the IsEnabled field's value.
+func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
+ s.IsEnabled = &v
+ return s
+}
+
+// SetOptionalFields sets the OptionalFields field's value.
+func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
+ s.OptionalFields = v
+ return s
+}
+
+// SetSchedule sets the Schedule field's value.
+func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
+ s.Schedule = v
+ return s
+}
+
+type InventoryDestination struct {
+ _ struct{} `type:"structure"`
+
+ // Contains the bucket name, file format, bucket owner (optional), and prefix
+ // (optional) where inventory results are published.
+ //
+ // S3BucketDestination is a required field
+ S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s InventoryDestination) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventoryDestination) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventoryDestination) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
+ if s.S3BucketDestination == nil {
+ invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
+ }
+ if s.S3BucketDestination != nil {
+ if err := s.S3BucketDestination.Validate(); err != nil {
+ invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetS3BucketDestination sets the S3BucketDestination field's value.
+func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
+ s.S3BucketDestination = v
+ return s
+}
+
+// Contains the type of server-side encryption used to encrypt the inventory
+// results.
+type InventoryEncryption struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
+ SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
+
+ // Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
+ SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
+}
+
+// String returns the string representation
+func (s InventoryEncryption) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventoryEncryption) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventoryEncryption) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
+ if s.SSEKMS != nil {
+ if err := s.SSEKMS.Validate(); err != nil {
+ invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetSSEKMS sets the SSEKMS field's value.
+func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
+ s.SSEKMS = v
+ return s
+}
+
+// SetSSES3 sets the SSES3 field's value.
+func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
+ s.SSES3 = v
+ return s
+}
+
+type InventoryFilter struct {
+ _ struct{} `type:"structure"`
+
+ // The prefix that an object must have to be included in the inventory results.
+ //
+ // Prefix is a required field
+ Prefix *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s InventoryFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventoryFilter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventoryFilter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
+ s.Prefix = &v
+ return s
+}
+
+type InventoryS3BucketDestination struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the account that owns the destination bucket.
+ AccountId *string `type:"string"`
+
+ // The Amazon resource name (ARN) of the bucket where inventory results will
+ // be published.
+ //
+ // Bucket is a required field
+ Bucket *string `type:"string" required:"true"`
+
+ // Contains the type of server-side encryption used to encrypt the inventory
+ // results.
+ Encryption *InventoryEncryption `type:"structure"`
+
+ // Specifies the output format of the inventory results.
+ //
+ // Format is a required field
+ Format *string `type:"string" required:"true" enum:"InventoryFormat"`
+
+ // The prefix that is prepended to all inventory results.
+ Prefix *string `type:"string"`
+}
+
+// String returns the string representation
+func (s InventoryS3BucketDestination) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventoryS3BucketDestination) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventoryS3BucketDestination) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Format == nil {
+ invalidParams.Add(request.NewErrParamRequired("Format"))
+ }
+ 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
+}
+
+// SetAccountId sets the AccountId field's value.
+func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
+ s.AccountId = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
+ s.Bucket = &v
+ return s
+}
+
+func (s *InventoryS3BucketDestination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetEncryption sets the Encryption field's value.
+func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
+ s.Encryption = v
+ return s
+}
+
+// SetFormat sets the Format field's value.
+func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
+ s.Format = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
+ s.Prefix = &v
+ return s
+}
+
+type InventorySchedule struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies how frequently inventory results are produced.
+ //
+ // Frequency is a required field
+ Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
+}
+
+// String returns the string representation
+func (s InventorySchedule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InventorySchedule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *InventorySchedule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
+ if s.Frequency == nil {
+ invalidParams.Add(request.NewErrParamRequired("Frequency"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFrequency sets the Frequency field's value.
+func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
+ s.Frequency = &v
+ return s
+}
+
+type JSONInput struct {
+ _ struct{} `type:"structure"`
+
+ // The type of JSON. Valid values: Document, Lines.
+ Type *string `type:"string" enum:"JSONType"`
+}
+
+// String returns the string representation
+func (s JSONInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s JSONInput) GoString() string {
+ return s.String()
+}
+
+// SetType sets the Type field's value.
+func (s *JSONInput) SetType(v string) *JSONInput {
+ s.Type = &v
+ return s
+}
+
+type JSONOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The value used to separate individual records in the output.
+ RecordDelimiter *string `type:"string"`
+}
+
+// String returns the string representation
+func (s JSONOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s JSONOutput) GoString() string {
+ return s.String()
+}
+
+// SetRecordDelimiter sets the RecordDelimiter field's value.
+func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
+ s.RecordDelimiter = &v
+ return s
+}
+
+// Container for object key name prefix and suffix filtering rules.
+type KeyFilter struct {
+ _ struct{} `type:"structure"`
+
+ // A list of containers for key value pair that defines the criteria for the
+ // filter rule.
+ FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s KeyFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s KeyFilter) GoString() string {
+ return s.String()
+}
+
+// SetFilterRules sets the FilterRules field's value.
+func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
+ s.FilterRules = v
+ return s
+}
+
+// Container for specifying the AWS Lambda notification configuration.
+type LambdaFunctionConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Events is a required field
+ Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
+
+ // Container for object key name filtering rules. For information about key
+ // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+ Filter *NotificationConfigurationFilter `type:"structure"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ // Lambda cloud function ARN that Amazon S3 can invoke when it detects events
+ // of the specified type.
+ //
+ // LambdaFunctionArn is a required field
+ LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s LambdaFunctionConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LambdaFunctionConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LambdaFunctionConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
+ if s.Events == nil {
+ invalidParams.Add(request.NewErrParamRequired("Events"))
+ }
+ if s.LambdaFunctionArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEvents sets the Events field's value.
+func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
+ s.Events = v
+ return s
+}
+
+// SetFilter sets the Filter field's value.
+func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
+func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
+ s.LambdaFunctionArn = &v
+ return s
+}
+
+type LifecycleConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Rules is a required field
+ Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s LifecycleConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LifecycleConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LifecycleConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
+ 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
+}
+
+// SetRules sets the Rules field's value.
+func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
+ s.Rules = v
+ return s
+}
+
+type LifecycleExpiration struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates at what date the object is to be moved or deleted. Should be in
+ // GMT ISO 8601 Format.
+ Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates the lifetime, in days, of the objects that are subject to the rule.
+ // The value must be a non-zero positive integer.
+ Days *int64 `type:"integer"`
+
+ // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
+ // versions. If set to true, the delete marker will be expired; if set to false
+ // the policy takes no action. This cannot be specified with Days or Date in
+ // a Lifecycle Expiration Policy.
+ ExpiredObjectDeleteMarker *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s LifecycleExpiration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LifecycleExpiration) GoString() string {
+ return s.String()
+}
+
+// SetDate sets the Date field's value.
+func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
+ s.Date = &v
+ return s
+}
+
+// SetDays sets the Days field's value.
+func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
+ s.Days = &v
+ return s
+}
+
+// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
+func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
+ s.ExpiredObjectDeleteMarker = &v
+ return s
+}
+
+type LifecycleRule struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the days since the initiation of an Incomplete Multipart Upload
+ // that Lifecycle will wait before permanently removing all parts of the upload.
+ AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
+
+ Expiration *LifecycleExpiration `type:"structure"`
+
+ // The Filter is used to identify objects that a Lifecycle Rule applies to.
+ // A Filter must have exactly one of Prefix, Tag, or And specified.
+ Filter *LifecycleRuleFilter `type:"structure"`
+
+ // Unique identifier for the rule. The value cannot be longer than 255 characters.
+ ID *string `type:"string"`
+
+ // Specifies when noncurrent object versions expire. Upon expiration, Amazon
+ // S3 permanently deletes the noncurrent object versions. You set this lifecycle
+ // configuration action on a bucket that has versioning enabled (or suspended)
+ // to request that Amazon S3 delete noncurrent object versions at a specific
+ // period in the object's lifetime.
+ NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
+
+ NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
+
+ // Prefix identifying one or more objects to which the rule applies. This is
+ // deprecated; use Filter instead.
+ Prefix *string `deprecated:"true" type:"string"`
+
+ // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
+ // is not currently being applied.
+ //
+ // Status is a required field
+ Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
+
+ Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s LifecycleRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LifecycleRule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LifecycleRule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+ if s.Filter != nil {
+ if err := s.Filter.Validate(); err != nil {
+ invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
+func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
+ s.AbortIncompleteMultipartUpload = v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
+ s.Expiration = v
+ return s
+}
+
+// SetFilter sets the Filter field's value.
+func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
+ s.Filter = v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *LifecycleRule) SetID(v string) *LifecycleRule {
+ s.ID = &v
+ return s
+}
+
+// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
+func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
+ s.NoncurrentVersionExpiration = v
+ return s
+}
+
+// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
+func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
+ s.NoncurrentVersionTransitions = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
+ s.Prefix = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
+ s.Status = &v
+ return s
+}
+
+// SetTransitions sets the Transitions field's value.
+func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
+ s.Transitions = v
+ return s
+}
+
+// This is used in a Lifecycle Rule Filter to apply a logical AND to two or
+// more predicates. The Lifecycle Rule will apply to any object matching all
+// of the predicates configured inside the And operator.
+type LifecycleRuleAndOperator struct {
+ _ struct{} `type:"structure"`
+
+ Prefix *string `type:"string"`
+
+ // All of these tags must exist in the object's tag set in order for the rule
+ // to apply.
+ Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s LifecycleRuleAndOperator) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LifecycleRuleAndOperator) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LifecycleRuleAndOperator) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
+ 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
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
+ s.Prefix = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
+ s.Tags = v
+ return s
+}
+
+// The Filter is used to identify objects that a Lifecycle Rule applies to.
+// A Filter must have exactly one of Prefix, Tag, or And specified.
+type LifecycleRuleFilter struct {
+ _ struct{} `type:"structure"`
+
+ // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
+ // more predicates. The Lifecycle Rule will apply to any object matching all
+ // of the predicates configured inside the And operator.
+ And *LifecycleRuleAndOperator `type:"structure"`
+
+ // Prefix identifying one or more objects to which the rule applies.
+ Prefix *string `type:"string"`
+
+ // This tag must exist in the object's tag set in order for the rule to apply.
+ Tag *Tag `type:"structure"`
+}
+
+// String returns the string representation
+func (s LifecycleRuleFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LifecycleRuleFilter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LifecycleRuleFilter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
+ if s.And != nil {
+ if err := s.And.Validate(); err != nil {
+ invalidParams.AddNested("And", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tag != nil {
+ if err := s.Tag.Validate(); err != nil {
+ invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAnd sets the And field's value.
+func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
+ s.And = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
+ s.Prefix = &v
+ return s
+}
+
+// SetTag sets the Tag field's value.
+func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
+ s.Tag = v
+ return s
+}
+
+type ListBucketAnalyticsConfigurationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket from which analytics configurations are retrieved.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ContinuationToken that represents a placeholder from where this request
+ // should begin.
+ ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketAnalyticsConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
+ s.ContinuationToken = &v
+ return s
+}
+
+type ListBucketAnalyticsConfigurationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The list of analytics configurations for a bucket.
+ AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
+
+ // The ContinuationToken that represents where this request began.
+ ContinuationToken *string `type:"string"`
+
+ // Indicates whether the returned list of analytics configurations is complete.
+ // A value of true indicates that the list is not complete and the NextContinuationToken
+ // will be provided for a subsequent request.
+ IsTruncated *bool `type:"boolean"`
+
+ // NextContinuationToken is sent when isTruncated is true, which indicates that
+ // there are more analytics configurations to list. The next request must include
+ // this NextContinuationToken. The token is obfuscated and is not a usable value.
+ NextContinuationToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketAnalyticsConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
+func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
+ s.AnalyticsConfigurationList = v
+ return s
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetNextContinuationToken sets the NextContinuationToken field's value.
+func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
+ s.NextContinuationToken = &v
+ return s
+}
+
+type ListBucketInventoryConfigurationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the inventory configurations to retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The marker used to continue an inventory configuration listing that has been
+ // truncated. Use the NextContinuationToken from a previously truncated list
+ // response to continue the listing. The continuation token is an opaque value
+ // that Amazon S3 understands.
+ ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketInventoryConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketInventoryConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListBucketInventoryConfigurationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
+ s.ContinuationToken = &v
+ return s
+}
+
+type ListBucketInventoryConfigurationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // If sent in the request, the marker that is used as a starting point for this
+ // inventory configuration list response.
+ ContinuationToken *string `type:"string"`
+
+ // The list of inventory configurations for a bucket.
+ InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
+
+ // Indicates whether the returned list of inventory configurations is truncated
+ // in this response. A value of true indicates that the list is truncated.
+ IsTruncated *bool `type:"boolean"`
+
+ // The marker used to continue this inventory configuration listing. Use the
+ // NextContinuationToken from this response to continue the listing in a subsequent
+ // request. The continuation token is an opaque value that Amazon S3 understands.
+ NextContinuationToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketInventoryConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketInventoryConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
+func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
+ s.InventoryConfigurationList = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetNextContinuationToken sets the NextContinuationToken field's value.
+func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
+ s.NextContinuationToken = &v
+ return s
+}
+
+type ListBucketMetricsConfigurationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the bucket containing the metrics configurations to retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The marker that is used to continue a metrics configuration listing that
+ // has been truncated. Use the NextContinuationToken from a previously truncated
+ // list response to continue the listing. The continuation token is an opaque
+ // value that Amazon S3 understands.
+ ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketMetricsConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketMetricsConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListBucketMetricsConfigurationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
+ s.ContinuationToken = &v
+ return s
+}
+
+type ListBucketMetricsConfigurationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The marker that is used as a starting point for this metrics configuration
+ // list response. This value is present if it was sent in the request.
+ ContinuationToken *string `type:"string"`
+
+ // Indicates whether the returned list of metrics configurations is complete.
+ // A value of true indicates that the list is not complete and the NextContinuationToken
+ // will be provided for a subsequent request.
+ IsTruncated *bool `type:"boolean"`
+
+ // The list of metrics configurations for a bucket.
+ MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
+
+ // The marker used to continue a metrics configuration listing that has been
+ // truncated. Use the NextContinuationToken from a previously truncated list
+ // response to continue the listing. The continuation token is an opaque value
+ // that Amazon S3 understands.
+ NextContinuationToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketMetricsConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketMetricsConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
+func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
+ s.MetricsConfigurationList = v
+ return s
+}
+
+// SetNextContinuationToken sets the NextContinuationToken field's value.
+func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
+ s.NextContinuationToken = &v
+ return s
+}
+
+type ListBucketsInput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s ListBucketsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketsInput) GoString() string {
+ return s.String()
+}
+
+type ListBucketsOutput struct {
+ _ struct{} `type:"structure"`
+
+ Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
+
+ Owner *Owner `type:"structure"`
+}
+
+// String returns the string representation
+func (s ListBucketsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketsOutput) GoString() string {
+ return s.String()
+}
+
+// SetBuckets sets the Buckets field's value.
+func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
+ s.Buckets = v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
+ s.Owner = v
+ return s
+}
+
+type ListMultipartUploadsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Character you use to group keys.
+ Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
+
+ // Requests Amazon S3 to encode the object keys in the response and specifies
+ // the encoding method to use. An object key may contain any Unicode character;
+ // however, XML 1.0 parser cannot parse some characters, such as characters
+ // with an ASCII value from 0 to 10. For characters that are not supported in
+ // XML 1.0, you can add this parameter to request that Amazon S3 encode the
+ // keys in the response.
+ EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
+
+ // Together with upload-id-marker, this parameter specifies the multipart upload
+ // after which listing should begin.
+ KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
+
+ // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
+ // in the response body. 1,000 is the maximum number of uploads that can be
+ // returned in a response.
+ MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
+
+ // Lists in-progress uploads only for those keys that begin with the specified
+ // prefix.
+ Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
+
+ // Together with key-marker, specifies the multipart upload after which listing
+ // should begin. If key-marker is not specified, the upload-id-marker parameter
+ // is ignored.
+ UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
+}
+
+// String returns the string representation
+func (s ListMultipartUploadsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListMultipartUploadsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListMultipartUploadsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListMultipartUploadsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetKeyMarker sets the KeyMarker field's value.
+func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
+ s.KeyMarker = &v
+ return s
+}
+
+// SetMaxUploads sets the MaxUploads field's value.
+func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
+ s.MaxUploads = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
+ s.Prefix = &v
+ return s
+}
+
+// SetUploadIdMarker sets the UploadIdMarker field's value.
+func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
+ s.UploadIdMarker = &v
+ return s
+}
+
+type ListMultipartUploadsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the bucket to which the multipart upload was initiated.
+ Bucket *string `type:"string"`
+
+ CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
+
+ Delimiter *string `type:"string"`
+
+ // Encoding type used by Amazon S3 to encode object keys in the response.
+ EncodingType *string `type:"string" enum:"EncodingType"`
+
+ // Indicates whether the returned list of multipart uploads is truncated. A
+ // value of true indicates that the list was truncated. The list can be truncated
+ // if the number of multipart uploads exceeds the limit allowed or specified
+ // by max uploads.
+ IsTruncated *bool `type:"boolean"`
+
+ // The key at or after which the listing began.
+ KeyMarker *string `type:"string"`
+
+ // Maximum number of multipart uploads that could have been included in the
+ // response.
+ MaxUploads *int64 `type:"integer"`
+
+ // When a list is truncated, this element specifies the value that should be
+ // used for the key-marker request parameter in a subsequent request.
+ NextKeyMarker *string `type:"string"`
+
+ // When a list is truncated, this element specifies the value that should be
+ // used for the upload-id-marker request parameter in a subsequent request.
+ NextUploadIdMarker *string `type:"string"`
+
+ // When a prefix is provided in the request, this field contains the specified
+ // prefix. The result contains only keys starting with the specified prefix.
+ Prefix *string `type:"string"`
+
+ // Upload ID after which listing began.
+ UploadIdMarker *string `type:"string"`
+
+ Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s ListMultipartUploadsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListMultipartUploadsOutput) GoString() string {
+ return s.String()
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListMultipartUploadsOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCommonPrefixes sets the CommonPrefixes field's value.
+func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
+ s.CommonPrefixes = v
+ return s
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetKeyMarker sets the KeyMarker field's value.
+func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
+ s.KeyMarker = &v
+ return s
+}
+
+// SetMaxUploads sets the MaxUploads field's value.
+func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
+ s.MaxUploads = &v
+ return s
+}
+
+// SetNextKeyMarker sets the NextKeyMarker field's value.
+func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
+ s.NextKeyMarker = &v
+ return s
+}
+
+// SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
+func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
+ s.NextUploadIdMarker = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
+ s.Prefix = &v
+ return s
+}
+
+// SetUploadIdMarker sets the UploadIdMarker field's value.
+func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
+ s.UploadIdMarker = &v
+ return s
+}
+
+// SetUploads sets the Uploads field's value.
+func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
+ s.Uploads = v
+ return s
+}
+
+type ListObjectVersionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // A delimiter is a character you use to group keys.
+ Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
+
+ // Requests Amazon S3 to encode the object keys in the response and specifies
+ // the encoding method to use. An object key may contain any Unicode character;
+ // however, XML 1.0 parser cannot parse some characters, such as characters
+ // with an ASCII value from 0 to 10. For characters that are not supported in
+ // XML 1.0, you can add this parameter to request that Amazon S3 encode the
+ // keys in the response.
+ EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
+
+ // Specifies the key to start with when listing objects in a bucket.
+ KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
+
+ // Sets the maximum number of keys returned in the response. The response might
+ // contain fewer keys but will never contain more.
+ MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
+
+ // Limits the response to keys that begin with the specified prefix.
+ Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
+
+ // Specifies the object version you want to start listing from.
+ VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
+}
+
+// String returns the string representation
+func (s ListObjectVersionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectVersionsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListObjectVersionsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListObjectVersionsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetKeyMarker sets the KeyMarker field's value.
+func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
+ s.KeyMarker = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
+ s.Prefix = &v
+ return s
+}
+
+// SetVersionIdMarker sets the VersionIdMarker field's value.
+func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
+ s.VersionIdMarker = &v
+ return s
+}
+
+type ListObjectVersionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
+
+ DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
+
+ Delimiter *string `type:"string"`
+
+ // Encoding type used by Amazon S3 to encode object keys in the response.
+ EncodingType *string `type:"string" enum:"EncodingType"`
+
+ // A flag that indicates whether or not Amazon S3 returned all of the results
+ // that satisfied the search criteria. If your results were truncated, you can
+ // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
+ // response parameters as a starting place in another request to return the
+ // rest of the results.
+ IsTruncated *bool `type:"boolean"`
+
+ // Marks the last Key returned in a truncated response.
+ KeyMarker *string `type:"string"`
+
+ MaxKeys *int64 `type:"integer"`
+
+ Name *string `type:"string"`
+
+ // Use this value for the key marker request parameter in a subsequent request.
+ NextKeyMarker *string `type:"string"`
+
+ // Use this value for the next version id marker parameter in a subsequent request.
+ NextVersionIdMarker *string `type:"string"`
+
+ Prefix *string `type:"string"`
+
+ VersionIdMarker *string `type:"string"`
+
+ Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s ListObjectVersionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectVersionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetCommonPrefixes sets the CommonPrefixes field's value.
+func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
+ s.CommonPrefixes = v
+ return s
+}
+
+// SetDeleteMarkers sets the DeleteMarkers field's value.
+func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
+ s.DeleteMarkers = v
+ return s
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetKeyMarker sets the KeyMarker field's value.
+func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
+ s.KeyMarker = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
+ s.Name = &v
+ return s
+}
+
+// SetNextKeyMarker sets the NextKeyMarker field's value.
+func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
+ s.NextKeyMarker = &v
+ return s
+}
+
+// SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
+func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
+ s.NextVersionIdMarker = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
+ s.Prefix = &v
+ return s
+}
+
+// SetVersionIdMarker sets the VersionIdMarker field's value.
+func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
+ s.VersionIdMarker = &v
+ return s
+}
+
+// SetVersions sets the Versions field's value.
+func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
+ s.Versions = v
+ return s
+}
+
+type ListObjectsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // A delimiter is a character you use to group keys.
+ Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
+
+ // Requests Amazon S3 to encode the object keys in the response and specifies
+ // the encoding method to use. An object key may contain any Unicode character;
+ // however, XML 1.0 parser cannot parse some characters, such as characters
+ // with an ASCII value from 0 to 10. For characters that are not supported in
+ // XML 1.0, you can add this parameter to request that Amazon S3 encode the
+ // keys in the response.
+ EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
+
+ // Specifies the key to start with when listing objects in a bucket.
+ Marker *string `location:"querystring" locationName:"marker" type:"string"`
+
+ // Sets the maximum number of keys returned in the response. The response might
+ // contain fewer keys but will never contain more.
+ MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
+
+ // Limits the response to keys that begin with the specified prefix.
+ Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // list objects request. Bucket owners need not specify this parameter in their
+ // requests.
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+}
+
+// String returns the string representation
+func (s ListObjectsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListObjectsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListObjectsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
+ s.Prefix = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
+ s.RequestPayer = &v
+ return s
+}
+
+type ListObjectsOutput struct {
+ _ struct{} `type:"structure"`
+
+ CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
+
+ Contents []*Object `type:"list" flattened:"true"`
+
+ Delimiter *string `type:"string"`
+
+ // Encoding type used by Amazon S3 to encode object keys in the response.
+ EncodingType *string `type:"string" enum:"EncodingType"`
+
+ // A flag that indicates whether or not Amazon S3 returned all of the results
+ // that satisfied the search criteria.
+ IsTruncated *bool `type:"boolean"`
+
+ Marker *string `type:"string"`
+
+ MaxKeys *int64 `type:"integer"`
+
+ Name *string `type:"string"`
+
+ // When response is truncated (the IsTruncated element value in the response
+ // is true), you can use the key name in this field as marker in the subsequent
+ // request to get next set of objects. Amazon S3 lists objects in alphabetical
+ // order Note: This element is returned only if you have delimiter request parameter
+ // specified. If response does not include the NextMaker and it is truncated,
+ // you can use the value of the last Key in the response as the marker in the
+ // subsequent request to get the next set of object keys.
+ NextMarker *string `type:"string"`
+
+ Prefix *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListObjectsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectsOutput) GoString() string {
+ return s.String()
+}
+
+// SetCommonPrefixes sets the CommonPrefixes field's value.
+func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
+ s.CommonPrefixes = v
+ return s
+}
+
+// SetContents sets the Contents field's value.
+func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
+ s.Contents = v
+ return s
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
+ s.EncodingType = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
+ s.Name = &v
+ return s
+}
+
+// SetNextMarker sets the NextMarker field's value.
+func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
+ s.NextMarker = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
+ s.Prefix = &v
+ return s
+}
+
+type ListObjectsV2Input struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the bucket to list.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // ContinuationToken indicates Amazon S3 that the list is being continued on
+ // this bucket with a token. ContinuationToken is obfuscated and is not a real
+ // key
+ ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
+
+ // A delimiter is a character you use to group keys.
+ Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
+
+ // Encoding type used by Amazon S3 to encode object keys in the response.
+ EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
+
+ // The owner field is not present in listV2 by default, if you want to return
+ // owner field with each key in the result then set the fetch owner field to
+ // true
+ FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
+
+ // Sets the maximum number of keys returned in the response. The response might
+ // contain fewer keys but will never contain more.
+ MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
+
+ // Limits the response to keys that begin with the specified prefix.
+ Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // list objects request in V2 style. Bucket owners need not specify this parameter
+ // in their requests.
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
+ // listing after this specified key. StartAfter can be any key in the bucket
+ StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
+}
+
+// String returns the string representation
+func (s ListObjectsV2Input) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectsV2Input) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListObjectsV2Input) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListObjectsV2Input) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
+ s.EncodingType = &v
+ return s
+}
+
+// SetFetchOwner sets the FetchOwner field's value.
+func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
+ s.FetchOwner = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
+ s.Prefix = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetStartAfter sets the StartAfter field's value.
+func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
+ s.StartAfter = &v
+ return s
+}
+
+type ListObjectsV2Output struct {
+ _ struct{} `type:"structure"`
+
+ // CommonPrefixes contains all (if there are any) keys between Prefix and the
+ // next occurrence of the string specified by delimiter
+ CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
+
+ // Metadata about each object returned.
+ Contents []*Object `type:"list" flattened:"true"`
+
+ // ContinuationToken indicates Amazon S3 that the list is being continued on
+ // this bucket with a token. ContinuationToken is obfuscated and is not a real
+ // key
+ ContinuationToken *string `type:"string"`
+
+ // A delimiter is a character you use to group keys.
+ Delimiter *string `type:"string"`
+
+ // Encoding type used by Amazon S3 to encode object keys in the response.
+ EncodingType *string `type:"string" enum:"EncodingType"`
+
+ // A flag that indicates whether or not Amazon S3 returned all of the results
+ // that satisfied the search criteria.
+ IsTruncated *bool `type:"boolean"`
+
+ // KeyCount is the number of keys returned with this request. KeyCount will
+ // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
+ // result will include less than equals 50 keys
+ KeyCount *int64 `type:"integer"`
+
+ // Sets the maximum number of keys returned in the response. The response might
+ // contain fewer keys but will never contain more.
+ MaxKeys *int64 `type:"integer"`
+
+ // Name of the bucket to list.
+ Name *string `type:"string"`
+
+ // NextContinuationToken is sent when isTruncated is true which means there
+ // are more keys in the bucket that can be listed. The next list requests to
+ // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
+ // is obfuscated and is not a real key
+ NextContinuationToken *string `type:"string"`
+
+ // Limits the response to keys that begin with the specified prefix.
+ Prefix *string `type:"string"`
+
+ // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
+ // listing after this specified key. StartAfter can be any key in the bucket
+ StartAfter *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListObjectsV2Output) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListObjectsV2Output) GoString() string {
+ return s.String()
+}
+
+// SetCommonPrefixes sets the CommonPrefixes field's value.
+func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
+ s.CommonPrefixes = v
+ return s
+}
+
+// SetContents sets the Contents field's value.
+func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
+ s.Contents = v
+ return s
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetDelimiter sets the Delimiter field's value.
+func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
+ s.Delimiter = &v
+ return s
+}
+
+// SetEncodingType sets the EncodingType field's value.
+func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
+ s.EncodingType = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetKeyCount sets the KeyCount field's value.
+func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
+ s.KeyCount = &v
+ return s
+}
+
+// SetMaxKeys sets the MaxKeys field's value.
+func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
+ s.MaxKeys = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
+ s.Name = &v
+ return s
+}
+
+// SetNextContinuationToken sets the NextContinuationToken field's value.
+func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
+ s.NextContinuationToken = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
+ s.Prefix = &v
+ return s
+}
+
+// SetStartAfter sets the StartAfter field's value.
+func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
+ s.StartAfter = &v
+ return s
+}
+
+type ListPartsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Sets the maximum number of parts to return.
+ MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
+
+ // Specifies the part after which listing should begin. Only parts with higher
+ // part numbers will be listed.
+ PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Upload ID identifying the multipart upload whose parts are being listed.
+ //
+ // UploadId is a required field
+ UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ListPartsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListPartsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListPartsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.UploadId == nil {
+ invalidParams.Add(request.NewErrParamRequired("UploadId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListPartsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
+ s.Key = &v
+ return s
+}
+
+// SetMaxParts sets the MaxParts field's value.
+func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
+ s.MaxParts = &v
+ return s
+}
+
+// SetPartNumberMarker sets the PartNumberMarker field's value.
+func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
+ s.PartNumberMarker = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
+ s.UploadId = &v
+ return s
+}
+
+type ListPartsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Date when multipart upload will become eligible for abort operation by lifecycle.
+ AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Id of the lifecycle rule that makes a multipart upload eligible for abort
+ // operation.
+ AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
+
+ // Name of the bucket to which the multipart upload was initiated.
+ Bucket *string `type:"string"`
+
+ // Identifies who initiated the multipart upload.
+ Initiator *Initiator `type:"structure"`
+
+ // Indicates whether the returned list of parts is truncated.
+ IsTruncated *bool `type:"boolean"`
+
+ // Object key for which the multipart upload was initiated.
+ Key *string `min:"1" type:"string"`
+
+ // Maximum number of parts that were allowed in the response.
+ MaxParts *int64 `type:"integer"`
+
+ // When a list is truncated, this element specifies the last part in the list,
+ // as well as the value to use for the part-number-marker request parameter
+ // in a subsequent request.
+ NextPartNumberMarker *int64 `type:"integer"`
+
+ Owner *Owner `type:"structure"`
+
+ // Part number after which listing begins.
+ PartNumberMarker *int64 `type:"integer"`
+
+ Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"StorageClass"`
+
+ // Upload ID identifying the multipart upload whose parts are being listed.
+ UploadId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListPartsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListPartsOutput) GoString() string {
+ return s.String()
+}
+
+// SetAbortDate sets the AbortDate field's value.
+func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
+ s.AbortDate = &v
+ return s
+}
+
+// SetAbortRuleId sets the AbortRuleId field's value.
+func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
+ s.AbortRuleId = &v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListPartsOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetInitiator sets the Initiator field's value.
+func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
+ s.Initiator = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
+ s.Key = &v
+ return s
+}
+
+// SetMaxParts sets the MaxParts field's value.
+func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
+ s.MaxParts = &v
+ return s
+}
+
+// SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
+func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
+ s.NextPartNumberMarker = &v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
+ s.Owner = v
+ return s
+}
+
+// SetPartNumberMarker sets the PartNumberMarker field's value.
+func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
+ s.PartNumberMarker = &v
+ return s
+}
+
+// SetParts sets the Parts field's value.
+func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
+ s.Parts = v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
+ s.UploadId = &v
+ return s
+}
+
+// Describes an S3 location that will receive the results of the restore request.
+type Location struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grants that control access to the staged results.
+ AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
+
+ // The name of the bucket where the restore results will be placed.
+ //
+ // BucketName is a required field
+ BucketName *string `type:"string" required:"true"`
+
+ // The canned ACL to apply to the restore results.
+ CannedACL *string `type:"string" enum:"ObjectCannedACL"`
+
+ // Describes the server-side encryption that will be applied to the restore
+ // results.
+ Encryption *Encryption `type:"structure"`
+
+ // The prefix that is prepended to the restore results for this request.
+ //
+ // Prefix is a required field
+ Prefix *string `type:"string" required:"true"`
+
+ // The class of storage used to store the restore results.
+ StorageClass *string `type:"string" enum:"StorageClass"`
+
+ // The tag-set that is applied to the restore results.
+ Tagging *Tagging `type:"structure"`
+
+ // A list of metadata to store with the restore results in S3.
+ UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
+}
+
+// String returns the string representation
+func (s Location) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Location) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Location) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Location"}
+ if s.BucketName == nil {
+ invalidParams.Add(request.NewErrParamRequired("BucketName"))
+ }
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ }
+ if s.AccessControlList != nil {
+ for i, v := range s.AccessControlList {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.Encryption != nil {
+ if err := s.Encryption.Validate(); err != nil {
+ invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tagging != nil {
+ if err := s.Tagging.Validate(); err != nil {
+ invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccessControlList sets the AccessControlList field's value.
+func (s *Location) SetAccessControlList(v []*Grant) *Location {
+ s.AccessControlList = v
+ return s
+}
+
+// SetBucketName sets the BucketName field's value.
+func (s *Location) SetBucketName(v string) *Location {
+ s.BucketName = &v
+ return s
+}
+
+// SetCannedACL sets the CannedACL field's value.
+func (s *Location) SetCannedACL(v string) *Location {
+ s.CannedACL = &v
+ return s
+}
+
+// SetEncryption sets the Encryption field's value.
+func (s *Location) SetEncryption(v *Encryption) *Location {
+ s.Encryption = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *Location) SetPrefix(v string) *Location {
+ s.Prefix = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *Location) SetStorageClass(v string) *Location {
+ s.StorageClass = &v
+ return s
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *Location) SetTagging(v *Tagging) *Location {
+ s.Tagging = v
+ return s
+}
+
+// SetUserMetadata sets the UserMetadata field's value.
+func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
+ s.UserMetadata = v
+ return s
+}
+
+// Container for logging information. Presence of this element indicates that
+// logging is enabled. Parameters TargetBucket and TargetPrefix are required
+// in this case.
+type LoggingEnabled struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the bucket where you want Amazon S3 to store server access logs.
+ // You can have your logs delivered to any bucket that you own, including the
+ // same bucket that is being logged. You can also configure multiple buckets
+ // to deliver their logs to the same target bucket. In this case you should
+ // choose a different TargetPrefix for each source bucket so that the delivered
+ // log files can be distinguished by key.
+ //
+ // TargetBucket is a required field
+ TargetBucket *string `type:"string" required:"true"`
+
+ TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
+
+ // This element lets you specify a prefix for the keys that the log files will
+ // be stored under.
+ //
+ // TargetPrefix is a required field
+ TargetPrefix *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s LoggingEnabled) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LoggingEnabled) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *LoggingEnabled) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
+ if s.TargetBucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
+ }
+ if s.TargetPrefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
+ }
+ if s.TargetGrants != nil {
+ for i, v := range s.TargetGrants {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetTargetBucket sets the TargetBucket field's value.
+func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
+ s.TargetBucket = &v
+ return s
+}
+
+// SetTargetGrants sets the TargetGrants field's value.
+func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
+ s.TargetGrants = v
+ return s
+}
+
+// SetTargetPrefix sets the TargetPrefix field's value.
+func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
+ s.TargetPrefix = &v
+ return s
+}
+
+// A metadata key-value pair to store with an object.
+type MetadataEntry struct {
+ _ struct{} `type:"structure"`
+
+ Name *string `type:"string"`
+
+ Value *string `type:"string"`
+}
+
+// String returns the string representation
+func (s MetadataEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MetadataEntry) GoString() string {
+ return s.String()
+}
+
+// SetName sets the Name field's value.
+func (s *MetadataEntry) SetName(v string) *MetadataEntry {
+ s.Name = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
+ s.Value = &v
+ return s
+}
+
+type MetricsAndOperator struct {
+ _ struct{} `type:"structure"`
+
+ // The prefix used when evaluating an AND predicate.
+ Prefix *string `type:"string"`
+
+ // The list of tags used when evaluating an AND predicate.
+ Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s MetricsAndOperator) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MetricsAndOperator) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MetricsAndOperator) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
+ 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
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
+ s.Prefix = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
+ s.Tags = v
+ return s
+}
+
+type MetricsConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies a metrics configuration filter. The metrics configuration will
+ // only include objects that meet the filter's criteria. A filter must be a
+ // prefix, a tag, or a conjunction (MetricsAndOperator).
+ Filter *MetricsFilter `type:"structure"`
+
+ // The ID used to identify the metrics configuration.
+ //
+ // Id is a required field
+ Id *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s MetricsConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MetricsConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MetricsConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.Filter != nil {
+ if err := s.Filter.Validate(); err != nil {
+ invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFilter sets the Filter field's value.
+func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
+ s.Id = &v
+ return s
+}
+
+type MetricsFilter struct {
+ _ struct{} `type:"structure"`
+
+ // A conjunction (logical AND) of predicates, which is used in evaluating a
+ // metrics filter. The operator must have at least two predicates, and an object
+ // must match all of the predicates in order for the filter to apply.
+ And *MetricsAndOperator `type:"structure"`
+
+ // The prefix used when evaluating a metrics filter.
+ Prefix *string `type:"string"`
+
+ // The tag used when evaluating a metrics filter.
+ Tag *Tag `type:"structure"`
+}
+
+// String returns the string representation
+func (s MetricsFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MetricsFilter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MetricsFilter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
+ if s.And != nil {
+ if err := s.And.Validate(); err != nil {
+ invalidParams.AddNested("And", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tag != nil {
+ if err := s.Tag.Validate(); err != nil {
+ invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAnd sets the And field's value.
+func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
+ s.And = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
+ s.Prefix = &v
+ return s
+}
+
+// SetTag sets the Tag field's value.
+func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
+ s.Tag = v
+ return s
+}
+
+type MultipartUpload struct {
+ _ struct{} `type:"structure"`
+
+ // Date and time at which the multipart upload was initiated.
+ Initiated *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // Identifies who initiated the multipart upload.
+ Initiator *Initiator `type:"structure"`
+
+ // Key of the object for which the multipart upload was initiated.
+ Key *string `min:"1" type:"string"`
+
+ Owner *Owner `type:"structure"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"StorageClass"`
+
+ // Upload ID that identifies the multipart upload.
+ UploadId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s MultipartUpload) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MultipartUpload) GoString() string {
+ return s.String()
+}
+
+// SetInitiated sets the Initiated field's value.
+func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
+ s.Initiated = &v
+ return s
+}
+
+// SetInitiator sets the Initiator field's value.
+func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
+ s.Initiator = v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
+ s.Key = &v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
+ s.Owner = v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
+ s.StorageClass = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
+ s.UploadId = &v
+ return s
+}
+
+// Specifies when noncurrent object versions expire. Upon expiration, Amazon
+// S3 permanently deletes the noncurrent object versions. You set this lifecycle
+// configuration action on a bucket that has versioning enabled (or suspended)
+// to request that Amazon S3 delete noncurrent object versions at a specific
+// period in the object's lifetime.
+type NoncurrentVersionExpiration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the number of days an object is noncurrent before Amazon S3 can
+ // perform the associated action. For information about the noncurrent days
+ // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
+ // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
+ NoncurrentDays *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s NoncurrentVersionExpiration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NoncurrentVersionExpiration) GoString() string {
+ return s.String()
+}
+
+// SetNoncurrentDays sets the NoncurrentDays field's value.
+func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
+ s.NoncurrentDays = &v
+ return s
+}
+
+// Container for the transition rule that describes when noncurrent objects
+// transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
+// bucket is versioning-enabled (or versioning is suspended), you can set this
+// action to request that Amazon S3 transition noncurrent object versions to
+// the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
+// in the object's lifetime.
+type NoncurrentVersionTransition struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the number of days an object is noncurrent before Amazon S3 can
+ // perform the associated action. For information about the noncurrent days
+ // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
+ // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
+ NoncurrentDays *int64 `type:"integer"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"TransitionStorageClass"`
+}
+
+// String returns the string representation
+func (s NoncurrentVersionTransition) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NoncurrentVersionTransition) GoString() string {
+ return s.String()
+}
+
+// SetNoncurrentDays sets the NoncurrentDays field's value.
+func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
+ s.NoncurrentDays = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
+ s.StorageClass = &v
+ return s
+}
+
+// Container for specifying the notification configuration of the bucket. If
+// this element is empty, notifications are turned off on the bucket.
+type NotificationConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
+
+ QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
+
+ TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s NotificationConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NotificationConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *NotificationConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
+ if s.LambdaFunctionConfigurations != nil {
+ for i, v := range s.LambdaFunctionConfigurations {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.QueueConfigurations != nil {
+ for i, v := range s.QueueConfigurations {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+ if s.TopicConfigurations != nil {
+ for i, v := range s.TopicConfigurations {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
+func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
+ s.LambdaFunctionConfigurations = v
+ return s
+}
+
+// SetQueueConfigurations sets the QueueConfigurations field's value.
+func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
+ s.QueueConfigurations = v
+ return s
+}
+
+// SetTopicConfigurations sets the TopicConfigurations field's value.
+func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
+ s.TopicConfigurations = v
+ return s
+}
+
+type NotificationConfigurationDeprecated struct {
+ _ struct{} `type:"structure"`
+
+ CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
+
+ QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
+
+ TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
+}
+
+// String returns the string representation
+func (s NotificationConfigurationDeprecated) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NotificationConfigurationDeprecated) GoString() string {
+ return s.String()
+}
+
+// SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
+func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
+ s.CloudFunctionConfiguration = v
+ return s
+}
+
+// SetQueueConfiguration sets the QueueConfiguration field's value.
+func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
+ s.QueueConfiguration = v
+ return s
+}
+
+// SetTopicConfiguration sets the TopicConfiguration field's value.
+func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
+ s.TopicConfiguration = v
+ return s
+}
+
+// Container for object key name filtering rules. For information about key
+// name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+type NotificationConfigurationFilter struct {
+ _ struct{} `type:"structure"`
+
+ // Container for object key name prefix and suffix filtering rules.
+ Key *KeyFilter `locationName:"S3Key" type:"structure"`
+}
+
+// String returns the string representation
+func (s NotificationConfigurationFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NotificationConfigurationFilter) GoString() string {
+ return s.String()
+}
+
+// SetKey sets the Key field's value.
+func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
+ s.Key = v
+ return s
+}
+
+type Object struct {
+ _ struct{} `type:"structure"`
+
+ ETag *string `type:"string"`
+
+ Key *string `min:"1" type:"string"`
+
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ Owner *Owner `type:"structure"`
+
+ Size *int64 `type:"integer"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"ObjectStorageClass"`
+}
+
+// String returns the string representation
+func (s Object) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Object) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *Object) SetETag(v string) *Object {
+ s.ETag = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *Object) SetKey(v string) *Object {
+ s.Key = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *Object) SetLastModified(v time.Time) *Object {
+ s.LastModified = &v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *Object) SetOwner(v *Owner) *Object {
+ s.Owner = v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *Object) SetSize(v int64) *Object {
+ s.Size = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *Object) SetStorageClass(v string) *Object {
+ s.StorageClass = &v
+ return s
+}
+
+type ObjectIdentifier struct {
+ _ struct{} `type:"structure"`
+
+ // Key name of the object to delete.
+ //
+ // Key is a required field
+ Key *string `min:"1" type:"string" required:"true"`
+
+ // VersionId for the specific version of the object to delete.
+ VersionId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ObjectIdentifier) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ObjectIdentifier) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ObjectIdentifier) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ 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 *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
+ s.Key = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
+ s.VersionId = &v
+ return s
+}
+
+type ObjectVersion struct {
+ _ struct{} `type:"structure"`
+
+ ETag *string `type:"string"`
+
+ // Specifies whether the object is (true) or is not (false) the latest version
+ // of an object.
+ IsLatest *bool `type:"boolean"`
+
+ // The object key.
+ Key *string `min:"1" type:"string"`
+
+ // Date and time the object was last modified.
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ Owner *Owner `type:"structure"`
+
+ // Size in bytes of the object.
+ Size *int64 `type:"integer"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
+
+ // Version ID of an object.
+ VersionId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ObjectVersion) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ObjectVersion) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
+ s.ETag = &v
+ return s
+}
+
+// SetIsLatest sets the IsLatest field's value.
+func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
+ s.IsLatest = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
+ s.Key = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
+ s.LastModified = &v
+ return s
+}
+
+// SetOwner sets the Owner field's value.
+func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
+ s.Owner = v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
+ s.Size = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
+ s.StorageClass = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
+ s.VersionId = &v
+ return s
+}
+
+// Describes the location where the restore job's output is stored.
+type OutputLocation struct {
+ _ struct{} `type:"structure"`
+
+ // Describes an S3 location that will receive the results of the restore request.
+ S3 *Location `type:"structure"`
+}
+
+// String returns the string representation
+func (s OutputLocation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s OutputLocation) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *OutputLocation) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
+ if s.S3 != nil {
+ if err := s.S3.Validate(); err != nil {
+ invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetS3 sets the S3 field's value.
+func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
+ s.S3 = v
+ return s
+}
+
+// Describes how results of the Select job are serialized.
+type OutputSerialization struct {
+ _ struct{} `type:"structure"`
+
+ // Describes the serialization of CSV-encoded Select results.
+ CSV *CSVOutput `type:"structure"`
+
+ // Specifies JSON as request's output serialization format.
+ JSON *JSONOutput `type:"structure"`
+}
+
+// String returns the string representation
+func (s OutputSerialization) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s OutputSerialization) GoString() string {
+ return s.String()
+}
+
+// SetCSV sets the CSV field's value.
+func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
+ s.CSV = v
+ return s
+}
+
+// SetJSON sets the JSON field's value.
+func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
+ s.JSON = v
+ return s
+}
+
+type Owner struct {
+ _ struct{} `type:"structure"`
+
+ DisplayName *string `type:"string"`
+
+ ID *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Owner) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Owner) GoString() string {
+ return s.String()
+}
+
+// SetDisplayName sets the DisplayName field's value.
+func (s *Owner) SetDisplayName(v string) *Owner {
+ s.DisplayName = &v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *Owner) SetID(v string) *Owner {
+ s.ID = &v
+ return s
+}
+
+type Part struct {
+ _ struct{} `type:"structure"`
+
+ // Entity tag returned when the part was uploaded.
+ ETag *string `type:"string"`
+
+ // Date and time at which the part was uploaded.
+ LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // Part number identifying the part. This is a positive integer between 1 and
+ // 10,000.
+ PartNumber *int64 `type:"integer"`
+
+ // Size of the uploaded part data.
+ Size *int64 `type:"integer"`
+}
+
+// String returns the string representation
+func (s Part) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Part) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *Part) SetETag(v string) *Part {
+ s.ETag = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *Part) SetLastModified(v time.Time) *Part {
+ s.LastModified = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *Part) SetPartNumber(v int64) *Part {
+ s.PartNumber = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *Part) SetSize(v int64) *Part {
+ s.Size = &v
+ return s
+}
+
+type Progress struct {
+ _ struct{} `type:"structure"`
+
+ // Current number of uncompressed object bytes processed.
+ BytesProcessed *int64 `type:"long"`
+
+ // Current number of bytes of records payload data returned.
+ BytesReturned *int64 `type:"long"`
+
+ // Current number of object bytes scanned.
+ BytesScanned *int64 `type:"long"`
+}
+
+// String returns the string representation
+func (s Progress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Progress) GoString() string {
+ return s.String()
+}
+
+// SetBytesProcessed sets the BytesProcessed field's value.
+func (s *Progress) SetBytesProcessed(v int64) *Progress {
+ s.BytesProcessed = &v
+ return s
+}
+
+// SetBytesReturned sets the BytesReturned field's value.
+func (s *Progress) SetBytesReturned(v int64) *Progress {
+ s.BytesReturned = &v
+ return s
+}
+
+// SetBytesScanned sets the BytesScanned field's value.
+func (s *Progress) SetBytesScanned(v int64) *Progress {
+ s.BytesScanned = &v
+ return s
+}
+
+type ProgressEvent struct {
+ _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
+
+ // The Progress event details.
+ Details *Progress `locationName:"Details" type:"structure"`
+}
+
+// String returns the string representation
+func (s ProgressEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ProgressEvent) GoString() string {
+ return s.String()
+}
+
+// SetDetails sets the Details field's value.
+func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
+ s.Details = v
+ return s
+}
+
+// The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
+func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
+
+// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
+// This method is only used internally within the SDK's EventStream handling.
+func (s *ProgressEvent) UnmarshalEvent(
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ msg eventstream.Message,
+) error {
+ if err := payloadUnmarshaler.UnmarshalPayload(
+ bytes.NewReader(msg.Payload), s,
+ ); err != nil {
+ return err
+ }
+ return nil
+}
+
+type PutBucketAccelerateConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
+
+ // Specifies the Accelerate Configuration you want to set for the bucket.
+ //
+ // AccelerateConfiguration is a required field
+ AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Name of the bucket for which the accelerate configuration is set.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PutBucketAccelerateConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAccelerateConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketAccelerateConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
+ if s.AccelerateConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
+ }
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
+func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
+ s.AccelerateConfiguration = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+type PutBucketAccelerateConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketAccelerateConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAccelerateConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketAclInput struct {
+ _ struct{} `type:"structure" payload:"AccessControlPolicy"`
+
+ // The canned ACL to apply to the bucket.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
+
+ AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Allows grantee the read, write, read ACP, and write ACP permissions on the
+ // bucket.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to list the objects in the bucket.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the bucket ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to create, overwrite, and delete any object in the bucket.
+ GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable bucket.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+}
+
+// String returns the string representation
+func (s PutBucketAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.AccessControlPolicy != nil {
+ if err := s.AccessControlPolicy.Validate(); err != nil {
+ invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
+ s.ACL = &v
+ return s
+}
+
+// SetAccessControlPolicy sets the AccessControlPolicy field's value.
+func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
+ s.AccessControlPolicy = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWrite sets the GrantWrite field's value.
+func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
+ s.GrantWrite = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+type PutBucketAclOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAclOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketAnalyticsConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
+
+ // The configuration and any analyses for the analytics filter.
+ //
+ // AnalyticsConfiguration is a required field
+ AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // The name of the bucket to which an analytics configuration is stored.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The identifier used to represent an analytics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PutBucketAnalyticsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAnalyticsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
+ if s.AnalyticsConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
+ }
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.AnalyticsConfiguration != nil {
+ if err := s.AnalyticsConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
+func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
+ s.AnalyticsConfiguration = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+type PutBucketAnalyticsConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketAnalyticsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketCorsInput struct {
+ _ struct{} `type:"structure" payload:"CORSConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // CORSConfiguration is a required field
+ CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketCorsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketCorsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketCorsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.CORSConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
+ }
+ if s.CORSConfiguration != nil {
+ if err := s.CORSConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCORSConfiguration sets the CORSConfiguration field's value.
+func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
+ s.CORSConfiguration = v
+ return s
+}
+
+type PutBucketCorsOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketCorsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketCorsOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketEncryptionInput struct {
+ _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
+
+ // The name of the bucket for which the server-side encryption configuration
+ // is set.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Container for server-side encryption configuration rules. Currently S3 supports
+ // one rule only.
+ //
+ // ServerSideEncryptionConfiguration is a required field
+ ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketEncryptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketEncryptionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketEncryptionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.ServerSideEncryptionConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
+ }
+ if s.ServerSideEncryptionConfiguration != nil {
+ if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketEncryptionInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
+func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
+ s.ServerSideEncryptionConfiguration = v
+ return s
+}
+
+type PutBucketEncryptionOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketEncryptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketEncryptionOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketInventoryConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"InventoryConfiguration"`
+
+ // The name of the bucket where the inventory configuration will be stored.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the inventory configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+
+ // Specifies the inventory configuration.
+ //
+ // InventoryConfiguration is a required field
+ InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketInventoryConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketInventoryConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketInventoryConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.InventoryConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
+ }
+ if s.InventoryConfiguration != nil {
+ if err := s.InventoryConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+// SetInventoryConfiguration sets the InventoryConfiguration field's value.
+func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
+ s.InventoryConfiguration = v
+ return s
+}
+
+type PutBucketInventoryConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketInventoryConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketInventoryConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketLifecycleConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketLifecycleConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLifecycleConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketLifecycleConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.LifecycleConfiguration != nil {
+ if err := s.LifecycleConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
+func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
+ s.LifecycleConfiguration = v
+ return s
+}
+
+type PutBucketLifecycleConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketLifecycleConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLifecycleConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketLifecycleInput struct {
+ _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketLifecycleInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLifecycleInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketLifecycleInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.LifecycleConfiguration != nil {
+ if err := s.LifecycleConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
+func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
+ s.LifecycleConfiguration = v
+ return s
+}
+
+type PutBucketLifecycleOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketLifecycleOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLifecycleOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketLoggingInput struct {
+ _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // BucketLoggingStatus is a required field
+ BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketLoggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLoggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketLoggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.BucketLoggingStatus == nil {
+ invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
+ }
+ if s.BucketLoggingStatus != nil {
+ if err := s.BucketLoggingStatus.Validate(); err != nil {
+ invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketLoggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
+func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
+ s.BucketLoggingStatus = v
+ return s
+}
+
+type PutBucketLoggingOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketLoggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketLoggingOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketMetricsConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"MetricsConfiguration"`
+
+ // The name of the bucket for which the metrics configuration is set.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the metrics configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+
+ // Specifies the metrics configuration.
+ //
+ // MetricsConfiguration is a required field
+ MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketMetricsConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketMetricsConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketMetricsConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.MetricsConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
+ }
+ if s.MetricsConfiguration != nil {
+ if err := s.MetricsConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+// SetMetricsConfiguration sets the MetricsConfiguration field's value.
+func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
+ s.MetricsConfiguration = v
+ return s
+}
+
+type PutBucketMetricsConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketMetricsConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketMetricsConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketNotificationConfigurationInput struct {
+ _ struct{} `type:"structure" payload:"NotificationConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Container for specifying the notification configuration of the bucket. If
+ // this element is empty, notifications are turned off on the bucket.
+ //
+ // NotificationConfiguration is a required field
+ NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketNotificationConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketNotificationConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketNotificationConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.NotificationConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
+ }
+ if s.NotificationConfiguration != nil {
+ if err := s.NotificationConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetNotificationConfiguration sets the NotificationConfiguration field's value.
+func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
+ s.NotificationConfiguration = v
+ return s
+}
+
+type PutBucketNotificationConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketNotificationConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketNotificationConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketNotificationInput struct {
+ _ struct{} `type:"structure" payload:"NotificationConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // NotificationConfiguration is a required field
+ NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketNotificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketNotificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketNotificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.NotificationConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketNotificationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetNotificationConfiguration sets the NotificationConfiguration field's value.
+func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
+ s.NotificationConfiguration = v
+ return s
+}
+
+type PutBucketNotificationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketNotificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketNotificationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketPolicyInput struct {
+ _ struct{} `type:"structure" payload:"Policy"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Set this parameter to true to confirm that you want to remove your permissions
+ // to change this bucket policy in the future.
+ ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
+
+ // The bucket policy as a JSON document.
+ //
+ // Policy is a required field
+ Policy *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s PutBucketPolicyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketPolicyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketPolicyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Policy == nil {
+ invalidParams.Add(request.NewErrParamRequired("Policy"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
+func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
+ s.ConfirmRemoveSelfBucketAccess = &v
+ return s
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
+ s.Policy = &v
+ return s
+}
+
+type PutBucketPolicyOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketPolicyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketPolicyOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketReplicationInput struct {
+ _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Container for replication rules. You can add as many as 1,000 rules. Total
+ // replication configuration size can be up to 2 MB.
+ //
+ // ReplicationConfiguration is a required field
+ ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketReplicationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketReplicationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketReplicationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.ReplicationConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
+ }
+ if s.ReplicationConfiguration != nil {
+ if err := s.ReplicationConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
+func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
+ s.ReplicationConfiguration = v
+ return s
+}
+
+type PutBucketReplicationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketReplicationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketReplicationOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketRequestPaymentInput struct {
+ _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // RequestPaymentConfiguration is a required field
+ RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketRequestPaymentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketRequestPaymentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketRequestPaymentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.RequestPaymentConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
+ }
+ if s.RequestPaymentConfiguration != nil {
+ if err := s.RequestPaymentConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
+func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
+ s.RequestPaymentConfiguration = v
+ return s
+}
+
+type PutBucketRequestPaymentOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketRequestPaymentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketRequestPaymentOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketTaggingInput struct {
+ _ struct{} `type:"structure" payload:"Tagging"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Tagging is a required field
+ Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Tagging == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tagging"))
+ }
+ if s.Tagging != nil {
+ if err := s.Tagging.Validate(); err != nil {
+ invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
+ s.Tagging = v
+ return s
+}
+
+type PutBucketTaggingOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketTaggingOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketVersioningInput struct {
+ _ struct{} `type:"structure" payload:"VersioningConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The concatenation of the authentication device's serial number, a space,
+ // and the value that is displayed on your authentication device.
+ MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
+
+ // VersioningConfiguration is a required field
+ VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketVersioningInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketVersioningInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketVersioningInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.VersioningConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketVersioningInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetMFA sets the MFA field's value.
+func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
+ s.MFA = &v
+ return s
+}
+
+// SetVersioningConfiguration sets the VersioningConfiguration field's value.
+func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
+ s.VersioningConfiguration = v
+ return s
+}
+
+type PutBucketVersioningOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketVersioningOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketVersioningOutput) GoString() string {
+ return s.String()
+}
+
+type PutBucketWebsiteInput struct {
+ _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // WebsiteConfiguration is a required field
+ WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketWebsiteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketWebsiteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketWebsiteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.WebsiteConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
+ }
+ if s.WebsiteConfiguration != nil {
+ if err := s.WebsiteConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
+func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
+ s.WebsiteConfiguration = v
+ return s
+}
+
+type PutBucketWebsiteOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketWebsiteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketWebsiteOutput) GoString() string {
+ return s.String()
+}
+
+type PutObjectAclInput struct {
+ _ struct{} `type:"structure" payload:"AccessControlPolicy"`
+
+ // The canned ACL to apply to the object.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
+
+ AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Allows grantee the read, write, read ACP, and write ACP permissions on the
+ // bucket.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to list the objects in the bucket.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the bucket ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to create, overwrite, and delete any object in the bucket.
+ GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable bucket.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // VersionId used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s PutObjectAclInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutObjectAclInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutObjectAclInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.AccessControlPolicy != nil {
+ if err := s.AccessControlPolicy.Validate(); err != nil {
+ invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
+ s.ACL = &v
+ return s
+}
+
+// SetAccessControlPolicy sets the AccessControlPolicy field's value.
+func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
+ s.AccessControlPolicy = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutObjectAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWrite sets the GrantWrite field's value.
+func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
+ s.GrantWrite = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
+ s.VersionId = &v
+ return s
+}
+
+type PutObjectAclOutput struct {
+ _ struct{} `type:"structure"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+}
+
+// String returns the string representation
+func (s PutObjectAclOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutObjectAclOutput) GoString() string {
+ return s.String()
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+type PutObjectInput struct {
+ _ struct{} `type:"structure" payload:"Body"`
+
+ // The canned ACL to apply to the object.
+ ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
+
+ // Object data.
+ Body io.ReadSeeker `type:"blob"`
+
+ // Name of the bucket to which the PUT operation was initiated.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Specifies caching behavior along the request/reply chain.
+ CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+
+ // Specifies presentational information for the object.
+ ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
+
+ // Specifies what content encodings have been applied to the object and thus
+ // what decoding mechanisms must be applied to obtain the media-type referenced
+ // by the Content-Type header field.
+ ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
+
+ // The language the content is in.
+ ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
+
+ // Size of the body in bytes. This parameter is useful when the size of the
+ // body cannot be determined automatically.
+ ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
+
+ // The base64-encoded 128-bit MD5 digest of the part data.
+ ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
+
+ // A standard MIME type describing the format of the object data.
+ ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
+
+ // The date and time at which the object is no longer cacheable.
+ Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
+ GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
+
+ // Allows grantee to read the object data and its metadata.
+ GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
+
+ // Allows grantee to read the object ACL.
+ GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
+
+ // Allows grantee to write the ACL for the applicable object.
+ GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
+
+ // Object key for which the PUT operation was initiated.
+ //
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // A map of metadata to store with the object in S3.
+ Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
+ // requests for an object protected by AWS KMS will fail if not made via SSL
+ // or using SigV4. Documentation on configuring any of the officially supported
+ // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // The type of storage to use for the object. Defaults to 'STANDARD'.
+ StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+
+ // The tag-set for the object. The tag-set must be encoded as URL Query parameters
+ Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
+
+ // If the bucket is configured as a website, redirects requests for this object
+ // to another object in the same bucket or to an external URL. Amazon S3 stores
+ // the value of this header in the object metadata.
+ WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
+}
+
+// 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.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetACL sets the ACL field's value.
+func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
+ s.ACL = &v
+ return s
+}
+
+// SetBody sets the Body field's value.
+func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
+ s.Body = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCacheControl sets the CacheControl field's value.
+func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
+ s.CacheControl = &v
+ return s
+}
+
+// SetContentDisposition sets the ContentDisposition field's value.
+func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
+ s.ContentDisposition = &v
+ return s
+}
+
+// SetContentEncoding sets the ContentEncoding field's value.
+func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
+ s.ContentEncoding = &v
+ return s
+}
+
+// SetContentLanguage sets the ContentLanguage field's value.
+func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
+ s.ContentLanguage = &v
+ return s
+}
+
+// SetContentLength sets the ContentLength field's value.
+func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
+ s.ContentLength = &v
+ return s
+}
+
+// SetContentMD5 sets the ContentMD5 field's value.
+func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
+ s.ContentMD5 = &v
+ return s
+}
+
+// SetContentType sets the ContentType field's value.
+func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
+ s.ContentType = &v
+ return s
+}
+
+// SetExpires sets the Expires field's value.
+func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
+ s.Expires = &v
+ return s
+}
+
+// SetGrantFullControl sets the GrantFullControl field's value.
+func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
+ s.GrantFullControl = &v
+ return s
+}
+
+// SetGrantRead sets the GrantRead field's value.
+func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
+ s.GrantRead = &v
+ return s
+}
+
+// SetGrantReadACP sets the GrantReadACP field's value.
+func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
+ s.GrantReadACP = &v
+ return s
+}
+
+// SetGrantWriteACP sets the GrantWriteACP field's value.
+func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
+ s.GrantWriteACP = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
+ s.Metadata = v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *PutObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
+ s.Tagging = &v
+ return s
+}
+
+// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
+func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
+ s.WebsiteRedirectLocation = &v
+ return s
+}
+
+type PutObjectOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Entity tag for the uploaded object.
+ ETag *string `location:"header" locationName:"ETag" type:"string"`
+
+ // If the object expiration is configured, this will contain the expiration
+ // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
+ Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+
+ // Version of the object.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// 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()
+}
+
+// SetETag sets the ETag field's value.
+func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
+ s.Expiration = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
+ s.VersionId = &v
+ return s
+}
+
+type PutObjectTaggingInput struct {
+ _ struct{} `type:"structure" payload:"Tagging"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Tagging is a required field
+ Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s PutObjectTaggingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutObjectTaggingInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutObjectTaggingInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.Tagging == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tagging"))
+ }
+ if s.Tagging != nil {
+ if err := s.Tagging.Validate(); err != nil {
+ invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
+ s.Key = &v
+ return s
+}
+
+// SetTagging sets the Tagging field's value.
+func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
+ s.Tagging = v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
+ s.VersionId = &v
+ return s
+}
+
+type PutObjectTaggingOutput struct {
+ _ struct{} `type:"structure"`
+
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation
+func (s PutObjectTaggingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutObjectTaggingOutput) GoString() string {
+ return s.String()
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
+ s.VersionId = &v
+ return s
+}
+
+// Container for specifying an configuration when you want Amazon S3 to publish
+// events to an Amazon Simple Queue Service (Amazon SQS) queue.
+type QueueConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Events is a required field
+ Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
+
+ // Container for object key name filtering rules. For information about key
+ // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+ Filter *NotificationConfigurationFilter `type:"structure"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ // Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects
+ // events of specified type.
+ //
+ // QueueArn is a required field
+ QueueArn *string `locationName:"Queue" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s QueueConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s QueueConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *QueueConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
+ if s.Events == nil {
+ invalidParams.Add(request.NewErrParamRequired("Events"))
+ }
+ if s.QueueArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("QueueArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEvents sets the Events field's value.
+func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
+ s.Events = v
+ return s
+}
+
+// SetFilter sets the Filter field's value.
+func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetQueueArn sets the QueueArn field's value.
+func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
+ s.QueueArn = &v
+ return s
+}
+
+type QueueConfigurationDeprecated struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket event for which to send notifications.
+ Event *string `deprecated:"true" type:"string" enum:"Event"`
+
+ Events []*string `locationName:"Event" type:"list" flattened:"true"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ Queue *string `type:"string"`
+}
+
+// String returns the string representation
+func (s QueueConfigurationDeprecated) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s QueueConfigurationDeprecated) GoString() string {
+ return s.String()
+}
+
+// SetEvent sets the Event field's value.
+func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
+ s.Event = &v
+ return s
+}
+
+// SetEvents sets the Events field's value.
+func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
+ s.Events = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
+ s.Id = &v
+ return s
+}
+
+// SetQueue sets the Queue field's value.
+func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
+ s.Queue = &v
+ return s
+}
+
+type RecordsEvent struct {
+ _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
+
+ // The byte array of partial, one or more result records.
+ //
+ // Payload is automatically base64 encoded/decoded by the SDK.
+ Payload []byte `type:"blob"`
+}
+
+// String returns the string representation
+func (s RecordsEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RecordsEvent) GoString() string {
+ return s.String()
+}
+
+// SetPayload sets the Payload field's value.
+func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
+ s.Payload = v
+ return s
+}
+
+// The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
+func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
+
+// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
+// This method is only used internally within the SDK's EventStream handling.
+func (s *RecordsEvent) UnmarshalEvent(
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ msg eventstream.Message,
+) error {
+ s.Payload = make([]byte, len(msg.Payload))
+ copy(s.Payload, msg.Payload)
+ return nil
+}
+
+type Redirect struct {
+ _ struct{} `type:"structure"`
+
+ // The host name to use in the redirect request.
+ HostName *string `type:"string"`
+
+ // The HTTP redirect code to use on the response. Not required if one of the
+ // siblings is present.
+ HttpRedirectCode *string `type:"string"`
+
+ // Protocol to use (http, https) when redirecting requests. The default is the
+ // protocol that is used in the original request.
+ Protocol *string `type:"string" enum:"Protocol"`
+
+ // The object key prefix to use in the redirect request. For example, to redirect
+ // requests for all pages with prefix docs/ (objects in the docs/ folder) to
+ // documents/, you can set a condition block with KeyPrefixEquals set to docs/
+ // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
+ // if one of the siblings is present. Can be present only if ReplaceKeyWith
+ // is not provided.
+ ReplaceKeyPrefixWith *string `type:"string"`
+
+ // The specific object key to use in the redirect request. For example, redirect
+ // request to error.html. Not required if one of the sibling is present. Can
+ // be present only if ReplaceKeyPrefixWith is not provided.
+ ReplaceKeyWith *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Redirect) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Redirect) GoString() string {
+ return s.String()
+}
+
+// SetHostName sets the HostName field's value.
+func (s *Redirect) SetHostName(v string) *Redirect {
+ s.HostName = &v
+ return s
+}
+
+// SetHttpRedirectCode sets the HttpRedirectCode field's value.
+func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
+ s.HttpRedirectCode = &v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *Redirect) SetProtocol(v string) *Redirect {
+ s.Protocol = &v
+ return s
+}
+
+// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
+func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
+ s.ReplaceKeyPrefixWith = &v
+ return s
+}
+
+// SetReplaceKeyWith sets the ReplaceKeyWith field's value.
+func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
+ s.ReplaceKeyWith = &v
+ return s
+}
+
+type RedirectAllRequestsTo struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the host where requests will be redirected.
+ //
+ // HostName is a required field
+ HostName *string `type:"string" required:"true"`
+
+ // Protocol to use (http, https) when redirecting requests. The default is the
+ // protocol that is used in the original request.
+ Protocol *string `type:"string" enum:"Protocol"`
+}
+
+// String returns the string representation
+func (s RedirectAllRequestsTo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RedirectAllRequestsTo) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RedirectAllRequestsTo) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
+ if s.HostName == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostName sets the HostName field's value.
+func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
+ s.HostName = &v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
+ s.Protocol = &v
+ return s
+}
+
+// Container for replication rules. You can add as many as 1,000 rules. Total
+// replication configuration size can be up to 2 MB.
+type ReplicationConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating
+ // the objects.
+ //
+ // Role is a required field
+ Role *string `type:"string" required:"true"`
+
+ // Container for information about a particular replication rule. Replication
+ // configuration must have at least one rule and can contain up to 1,000 rules.
+ //
+ // Rules is a required field
+ Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s ReplicationConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplicationConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplicationConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
+ if s.Role == nil {
+ invalidParams.Add(request.NewErrParamRequired("Role"))
+ }
+ 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
+}
+
+// SetRole sets the Role field's value.
+func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
+ s.Role = &v
+ return s
+}
+
+// SetRules sets the Rules field's value.
+func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
+ s.Rules = v
+ return s
+}
+
+// Container for information about a particular replication rule.
+type ReplicationRule struct {
+ _ struct{} `type:"structure"`
+
+ // Container for replication destination information.
+ //
+ // Destination is a required field
+ Destination *Destination `type:"structure" required:"true"`
+
+ // Unique identifier for the rule. The value cannot be longer than 255 characters.
+ ID *string `type:"string"`
+
+ // Object keyname prefix identifying one or more objects to which the rule applies.
+ // Maximum prefix length can be up to 1,024 characters. Overlapping prefixes
+ // are not supported.
+ //
+ // Prefix is a required field
+ Prefix *string `type:"string" required:"true"`
+
+ // Container for filters that define which source objects should be replicated.
+ SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
+
+ // The rule is ignored if status is not Enabled.
+ //
+ // Status is a required field
+ Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
+}
+
+// String returns the string representation
+func (s ReplicationRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplicationRule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ReplicationRule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
+ if s.Destination == nil {
+ invalidParams.Add(request.NewErrParamRequired("Destination"))
+ }
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ }
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+ if s.Destination != nil {
+ if err := s.Destination.Validate(); err != nil {
+ invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.SourceSelectionCriteria != nil {
+ if err := s.SourceSelectionCriteria.Validate(); err != nil {
+ invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestination sets the Destination field's value.
+func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
+ s.Destination = v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *ReplicationRule) SetID(v string) *ReplicationRule {
+ s.ID = &v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
+ s.Prefix = &v
+ return s
+}
+
+// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
+func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
+ s.SourceSelectionCriteria = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
+ s.Status = &v
+ return s
+}
+
+type RequestPaymentConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies who pays for the download and request fees.
+ //
+ // Payer is a required field
+ Payer *string `type:"string" required:"true" enum:"Payer"`
+}
+
+// String returns the string representation
+func (s RequestPaymentConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestPaymentConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RequestPaymentConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
+ if s.Payer == nil {
+ invalidParams.Add(request.NewErrParamRequired("Payer"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPayer sets the Payer field's value.
+func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
+ s.Payer = &v
+ return s
+}
+
+type RequestProgress struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies whether periodic QueryProgress frames should be sent. Valid values:
+ // TRUE, FALSE. Default value: FALSE.
+ Enabled *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s RequestProgress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestProgress) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
+ s.Enabled = &v
+ return s
+}
+
+type RestoreObjectInput struct {
+ _ struct{} `type:"structure" payload:"RestoreRequest"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Container for restore job parameters.
+ RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation
+func (s RestoreObjectInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreObjectInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RestoreObjectInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.RestoreRequest != nil {
+ if err := s.RestoreRequest.Validate(); err != nil {
+ invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *RestoreObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetKey sets the Key field's value.
+func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
+ s.Key = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetRestoreRequest sets the RestoreRequest field's value.
+func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
+ s.RestoreRequest = v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
+ s.VersionId = &v
+ return s
+}
+
+type RestoreObjectOutput struct {
+ _ struct{} `type:"structure"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // Indicates the path in the provided S3 output location where Select results
+ // will be restored to.
+ RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
+}
+
+// String returns the string representation
+func (s RestoreObjectOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreObjectOutput) GoString() string {
+ return s.String()
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetRestoreOutputPath sets the RestoreOutputPath field's value.
+func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
+ s.RestoreOutputPath = &v
+ return s
+}
+
+// Container for restore job parameters.
+type RestoreRequest struct {
+ _ struct{} `type:"structure"`
+
+ // Lifetime of the active copy in days. Do not use with restores that specify
+ // OutputLocation.
+ Days *int64 `type:"integer"`
+
+ // The optional description for the job.
+ Description *string `type:"string"`
+
+ // Glacier related parameters pertaining to this job. Do not use with restores
+ // that specify OutputLocation.
+ GlacierJobParameters *GlacierJobParameters `type:"structure"`
+
+ // Describes the location where the restore job's output is stored.
+ OutputLocation *OutputLocation `type:"structure"`
+
+ // Describes the parameters for Select job types.
+ SelectParameters *SelectParameters `type:"structure"`
+
+ // Glacier retrieval tier at which the restore will be processed.
+ Tier *string `type:"string" enum:"Tier"`
+
+ // Type of restore request.
+ Type *string `type:"string" enum:"RestoreRequestType"`
+}
+
+// String returns the string representation
+func (s RestoreRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreRequest) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RestoreRequest) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
+ if s.GlacierJobParameters != nil {
+ if err := s.GlacierJobParameters.Validate(); err != nil {
+ invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.OutputLocation != nil {
+ if err := s.OutputLocation.Validate(); err != nil {
+ invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.SelectParameters != nil {
+ if err := s.SelectParameters.Validate(); err != nil {
+ invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDays sets the Days field's value.
+func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
+ s.Days = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
+ s.Description = &v
+ return s
+}
+
+// SetGlacierJobParameters sets the GlacierJobParameters field's value.
+func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
+ s.GlacierJobParameters = v
+ return s
+}
+
+// SetOutputLocation sets the OutputLocation field's value.
+func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
+ s.OutputLocation = v
+ return s
+}
+
+// SetSelectParameters sets the SelectParameters field's value.
+func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
+ s.SelectParameters = v
+ return s
+}
+
+// SetTier sets the Tier field's value.
+func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
+ s.Tier = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *RestoreRequest) SetType(v string) *RestoreRequest {
+ s.Type = &v
+ return s
+}
+
+type RoutingRule struct {
+ _ struct{} `type:"structure"`
+
+ // A container for describing a condition that must be met for the specified
+ // redirect to apply. For example, 1. If request is for pages in the /docs folder,
+ // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
+ // redirect request to another host where you might process the error.
+ Condition *Condition `type:"structure"`
+
+ // Container for redirect information. You can redirect requests to another
+ // host, to another page, or with another protocol. In the event of an error,
+ // you can can specify a different error code to return.
+ //
+ // Redirect is a required field
+ Redirect *Redirect `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s RoutingRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RoutingRule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RoutingRule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
+ if s.Redirect == nil {
+ invalidParams.Add(request.NewErrParamRequired("Redirect"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCondition sets the Condition field's value.
+func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
+ s.Condition = v
+ return s
+}
+
+// SetRedirect sets the Redirect field's value.
+func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
+ s.Redirect = v
+ return s
+}
+
+type Rule struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the days since the initiation of an Incomplete Multipart Upload
+ // that Lifecycle will wait before permanently removing all parts of the upload.
+ AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
+
+ Expiration *LifecycleExpiration `type:"structure"`
+
+ // Unique identifier for the rule. The value cannot be longer than 255 characters.
+ ID *string `type:"string"`
+
+ // Specifies when noncurrent object versions expire. Upon expiration, Amazon
+ // S3 permanently deletes the noncurrent object versions. You set this lifecycle
+ // configuration action on a bucket that has versioning enabled (or suspended)
+ // to request that Amazon S3 delete noncurrent object versions at a specific
+ // period in the object's lifetime.
+ NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
+
+ // Container for the transition rule that describes when noncurrent objects
+ // transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
+ // bucket is versioning-enabled (or versioning is suspended), you can set this
+ // action to request that Amazon S3 transition noncurrent object versions to
+ // the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
+ // in the object's lifetime.
+ NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
+
+ // Prefix identifying one or more objects to which the rule applies.
+ //
+ // Prefix is a required field
+ Prefix *string `type:"string" required:"true"`
+
+ // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
+ // is not currently being applied.
+ //
+ // Status is a required field
+ Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
+
+ Transition *Transition `type:"structure"`
+}
+
+// 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()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Rule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Rule"}
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ }
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
+func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
+ s.AbortIncompleteMultipartUpload = v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
+ s.Expiration = v
+ return s
+}
+
+// SetID sets the ID field's value.
+func (s *Rule) SetID(v string) *Rule {
+ s.ID = &v
+ return s
+}
+
+// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
+func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
+ s.NoncurrentVersionExpiration = v
+ return s
+}
+
+// SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
+func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
+ s.NoncurrentVersionTransition = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *Rule) SetPrefix(v string) *Rule {
+ s.Prefix = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *Rule) SetStatus(v string) *Rule {
+ s.Status = &v
+ return s
+}
+
+// SetTransition sets the Transition field's value.
+func (s *Rule) SetTransition(v *Transition) *Rule {
+ s.Transition = v
+ return s
+}
+
+// Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
+type SSEKMS struct {
+ _ struct{} `locationName:"SSE-KMS" type:"structure"`
+
+ // Specifies the ID of the AWS Key Management Service (KMS) master encryption
+ // key to use for encrypting Inventory reports.
+ //
+ // KeyId is a required field
+ KeyId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s SSEKMS) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SSEKMS) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SSEKMS) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
+ s.KeyId = &v
+ return s
+}
+
+// Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
+type SSES3 struct {
+ _ struct{} `locationName:"SSE-S3" type:"structure"`
+}
+
+// String returns the string representation
+func (s SSES3) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SSES3) GoString() string {
+ return s.String()
+}
+
+// SelectObjectContentEventStream provides handling of EventStreams for
+// the SelectObjectContent API.
+//
+// Use this type to receive SelectObjectContentEventStream events. The events
+// can be read from the Events channel member.
+//
+// The events that can be received are:
+//
+// * ContinuationEvent
+// * EndEvent
+// * ProgressEvent
+// * RecordsEvent
+// * StatsEvent
+type SelectObjectContentEventStream struct {
+ // Reader is the EventStream reader for the SelectObjectContentEventStream
+ // events. This value is automatically set by the SDK when the API call is made
+ // Use this member when unit testing your code with the SDK to mock out the
+ // EventStream Reader.
+ //
+ // Must not be nil.
+ Reader SelectObjectContentEventStreamReader
+
+ // StreamCloser is the io.Closer for the EventStream connection. For HTTP
+ // EventStream this is the response Body. The stream will be closed when
+ // the Close method of the EventStream is called.
+ StreamCloser io.Closer
+}
+
+// Close closes the EventStream. This will also cause the Events channel to be
+// closed. You can use the closing of the Events channel to terminate your
+// application's read from the API's EventStream.
+//
+// Will close the underlying EventStream reader. For EventStream over HTTP
+// connection this will also close the HTTP connection.
+//
+// Close must be called when done using the EventStream API. Not calling Close
+// may result in resource leaks.
+func (es *SelectObjectContentEventStream) Close() (err error) {
+ es.Reader.Close()
+ return es.Err()
+}
+
+// Err returns any error that occurred while reading EventStream Events from
+// the service API's response. Returns nil if there were no errors.
+func (es *SelectObjectContentEventStream) Err() error {
+ if err := es.Reader.Err(); err != nil {
+ return err
+ }
+ es.StreamCloser.Close()
+
+ return nil
+}
+
+// Events returns a channel to read EventStream Events from the
+// SelectObjectContent API.
+//
+// These events are:
+//
+// * ContinuationEvent
+// * EndEvent
+// * ProgressEvent
+// * RecordsEvent
+// * StatsEvent
+func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
+ return es.Reader.Events()
+}
+
+// SelectObjectContentEventStreamEvent groups together all EventStream
+// events read from the SelectObjectContent API.
+//
+// These events are:
+//
+// * ContinuationEvent
+// * EndEvent
+// * ProgressEvent
+// * RecordsEvent
+// * StatsEvent
+type SelectObjectContentEventStreamEvent interface {
+ eventSelectObjectContentEventStream()
+}
+
+// SelectObjectContentEventStreamReader provides the interface for reading EventStream
+// Events from the SelectObjectContent API. The
+// default implementation for this interface will be SelectObjectContentEventStream.
+//
+// The reader's Close method must allow multiple concurrent calls.
+//
+// These events are:
+//
+// * ContinuationEvent
+// * EndEvent
+// * ProgressEvent
+// * RecordsEvent
+// * StatsEvent
+type SelectObjectContentEventStreamReader interface {
+ // Returns a channel of events as they are read from the event stream.
+ Events() <-chan SelectObjectContentEventStreamEvent
+
+ // Close will close the underlying event stream reader. For event stream over
+ // HTTP this will also close the HTTP connection.
+ Close() error
+
+ // Returns any error that has occured while reading from the event stream.
+ Err() error
+}
+
+type readSelectObjectContentEventStream struct {
+ eventReader *eventstreamapi.EventReader
+ stream chan SelectObjectContentEventStreamEvent
+ errVal atomic.Value
+
+ done chan struct{}
+ closeOnce sync.Once
+}
+
+func newReadSelectObjectContentEventStream(
+ reader io.ReadCloser,
+ unmarshalers request.HandlerList,
+ logger aws.Logger,
+ logLevel aws.LogLevelType,
+) *readSelectObjectContentEventStream {
+ r := &readSelectObjectContentEventStream{
+ stream: make(chan SelectObjectContentEventStreamEvent),
+ done: make(chan struct{}),
+ }
+
+ r.eventReader = eventstreamapi.NewEventReader(
+ reader,
+ protocol.HandlerPayloadUnmarshal{
+ Unmarshalers: unmarshalers,
+ },
+ r.unmarshalerForEventType,
+ )
+ r.eventReader.UseLogger(logger, logLevel)
+
+ return r
+}
+
+// Close will close the underlying event stream reader. For EventStream over
+// HTTP this will also close the HTTP connection.
+func (r *readSelectObjectContentEventStream) Close() error {
+ r.closeOnce.Do(r.safeClose)
+
+ return r.Err()
+}
+
+func (r *readSelectObjectContentEventStream) safeClose() {
+ close(r.done)
+ err := r.eventReader.Close()
+ if err != nil {
+ r.errVal.Store(err)
+ }
+}
+
+func (r *readSelectObjectContentEventStream) Err() error {
+ if v := r.errVal.Load(); v != nil {
+ return v.(error)
+ }
+
+ return nil
+}
+
+func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
+ return r.stream
+}
+
+func (r *readSelectObjectContentEventStream) readEventStream() {
+ defer close(r.stream)
+
+ for {
+ event, err := r.eventReader.ReadEvent()
+ if err != nil {
+ if err == io.EOF {
+ return
+ }
+ select {
+ case <-r.done:
+ // If closed already ignore the error
+ return
+ default:
+ }
+ r.errVal.Store(err)
+ return
+ }
+
+ select {
+ case r.stream <- event.(SelectObjectContentEventStreamEvent):
+ case <-r.done:
+ return
+ }
+ }
+}
+
+func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
+ eventType string,
+) (eventstreamapi.Unmarshaler, error) {
+ switch eventType {
+ case "Cont":
+ return &ContinuationEvent{}, nil
+
+ case "End":
+ return &EndEvent{}, nil
+
+ case "Progress":
+ return &ProgressEvent{}, nil
+
+ case "Records":
+ return &RecordsEvent{}, nil
+
+ case "Stats":
+ return &StatsEvent{}, nil
+ default:
+ return nil, awserr.New(
+ request.ErrCodeSerialization,
+ fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
+ nil,
+ )
+ }
+}
+
+// Request to filter the contents of an Amazon S3 object based on a simple Structured
+// Query Language (SQL) statement. In the request, along with the SQL expression,
+// you must also specify a data serialization format (JSON or CSV) of the object.
+// Amazon S3 uses this to parse object data into records, and returns only records
+// that match the specified SQL expression. You must also specify the data serialization
+// format for the response. For more information, go to S3Select API Documentation
+// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html)
+type SelectObjectContentInput struct {
+ _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // The S3 Bucket.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The expression that is used to query the object.
+ //
+ // Expression is a required field
+ Expression *string `type:"string" required:"true"`
+
+ // The type of the provided expression (e.g., SQL).
+ //
+ // ExpressionType is a required field
+ ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
+
+ // Describes the format of the data in the object that is being queried.
+ //
+ // InputSerialization is a required field
+ InputSerialization *InputSerialization `type:"structure" required:"true"`
+
+ // The Object Key.
+ //
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Describes the format of the data that you want Amazon S3 to return in response.
+ //
+ // OutputSerialization is a required field
+ OutputSerialization *OutputSerialization `type:"structure" required:"true"`
+
+ // Specifies if periodic request progress information should be enabled.
+ RequestProgress *RequestProgress `type:"structure"`
+
+ // The SSE Algorithm used to encrypt the object. For more information, go to
+ // Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // The SSE Customer Key. For more information, go to Server-Side Encryption
+ // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // The SSE Customer Key MD5. For more information, go to Server-Side Encryption
+ // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+}
+
+// String returns the string representation
+func (s SelectObjectContentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SelectObjectContentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SelectObjectContentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Expression == nil {
+ invalidParams.Add(request.NewErrParamRequired("Expression"))
+ }
+ if s.ExpressionType == nil {
+ invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
+ }
+ if s.InputSerialization == nil {
+ invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
+ }
+ 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.OutputSerialization == nil {
+ invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *SelectObjectContentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetExpression sets the Expression field's value.
+func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
+ s.Expression = &v
+ return s
+}
+
+// SetExpressionType sets the ExpressionType field's value.
+func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
+ s.ExpressionType = &v
+ return s
+}
+
+// SetInputSerialization sets the InputSerialization field's value.
+func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
+ s.InputSerialization = v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
+ s.Key = &v
+ return s
+}
+
+// SetOutputSerialization sets the OutputSerialization field's value.
+func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
+ s.OutputSerialization = v
+ return s
+}
+
+// SetRequestProgress sets the RequestProgress field's value.
+func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
+ s.RequestProgress = v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+type SelectObjectContentOutput struct {
+ _ struct{} `type:"structure" payload:"Payload"`
+
+ // Use EventStream to use the API's stream.
+ EventStream *SelectObjectContentEventStream `type:"structure"`
+}
+
+// String returns the string representation
+func (s SelectObjectContentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SelectObjectContentOutput) GoString() string {
+ return s.String()
+}
+
+// SetEventStream sets the EventStream field's value.
+func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
+ s.EventStream = v
+ return s
+}
+
+func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
+ if r.Error != nil {
+ return
+ }
+ reader := newReadSelectObjectContentEventStream(
+ r.HTTPResponse.Body,
+ r.Handlers.UnmarshalStream,
+ r.Config.Logger,
+ r.Config.LogLevel.Value(),
+ )
+ go reader.readEventStream()
+
+ eventStream := &SelectObjectContentEventStream{
+ StreamCloser: r.HTTPResponse.Body,
+ Reader: reader,
+ }
+ s.EventStream = eventStream
+}
+
+// Describes the parameters for Select job types.
+type SelectParameters struct {
+ _ struct{} `type:"structure"`
+
+ // The expression that is used to query the object.
+ //
+ // Expression is a required field
+ Expression *string `type:"string" required:"true"`
+
+ // The type of the provided expression (e.g., SQL).
+ //
+ // ExpressionType is a required field
+ ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
+
+ // Describes the serialization format of the object.
+ //
+ // InputSerialization is a required field
+ InputSerialization *InputSerialization `type:"structure" required:"true"`
+
+ // Describes how the results of the Select job are serialized.
+ //
+ // OutputSerialization is a required field
+ OutputSerialization *OutputSerialization `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s SelectParameters) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SelectParameters) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SelectParameters) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
+ if s.Expression == nil {
+ invalidParams.Add(request.NewErrParamRequired("Expression"))
+ }
+ if s.ExpressionType == nil {
+ invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
+ }
+ if s.InputSerialization == nil {
+ invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
+ }
+ if s.OutputSerialization == nil {
+ invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetExpression sets the Expression field's value.
+func (s *SelectParameters) SetExpression(v string) *SelectParameters {
+ s.Expression = &v
+ return s
+}
+
+// SetExpressionType sets the ExpressionType field's value.
+func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
+ s.ExpressionType = &v
+ return s
+}
+
+// SetInputSerialization sets the InputSerialization field's value.
+func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
+ s.InputSerialization = v
+ return s
+}
+
+// SetOutputSerialization sets the OutputSerialization field's value.
+func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
+ s.OutputSerialization = v
+ return s
+}
+
+// Describes the default server-side encryption to apply to new objects in the
+// bucket. If Put Object request does not specify any server-side encryption,
+// this default encryption will be applied.
+type ServerSideEncryptionByDefault struct {
+ _ struct{} `type:"structure"`
+
+ // KMS master key ID to use for the default encryption. This parameter is allowed
+ // if SSEAlgorithm is aws:kms.
+ KMSMasterKeyID *string `type:"string"`
+
+ // Server-side encryption algorithm to use for the default encryption.
+ //
+ // SSEAlgorithm is a required field
+ SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
+}
+
+// String returns the string representation
+func (s ServerSideEncryptionByDefault) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServerSideEncryptionByDefault) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ServerSideEncryptionByDefault) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
+ if s.SSEAlgorithm == nil {
+ invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
+func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
+ s.KMSMasterKeyID = &v
+ return s
+}
+
+// SetSSEAlgorithm sets the SSEAlgorithm field's value.
+func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
+ s.SSEAlgorithm = &v
+ return s
+}
+
+// Container for server-side encryption configuration rules. Currently S3 supports
+// one rule only.
+type ServerSideEncryptionConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Container for information about a particular server-side encryption configuration
+ // rule.
+ //
+ // Rules is a required field
+ Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s ServerSideEncryptionConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServerSideEncryptionConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ServerSideEncryptionConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
+ 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
+}
+
+// SetRules sets the Rules field's value.
+func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
+ s.Rules = v
+ return s
+}
+
+// Container for information about a particular server-side encryption configuration
+// rule.
+type ServerSideEncryptionRule struct {
+ _ struct{} `type:"structure"`
+
+ // Describes the default server-side encryption to apply to new objects in the
+ // bucket. If Put Object request does not specify any server-side encryption,
+ // this default encryption will be applied.
+ ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
+}
+
+// String returns the string representation
+func (s ServerSideEncryptionRule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServerSideEncryptionRule) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ServerSideEncryptionRule) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
+ if s.ApplyServerSideEncryptionByDefault != nil {
+ if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
+ invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
+func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
+ s.ApplyServerSideEncryptionByDefault = v
+ return s
+}
+
+// Container for filters that define which source objects should be replicated.
+type SourceSelectionCriteria struct {
+ _ struct{} `type:"structure"`
+
+ // Container for filter information of selection of KMS Encrypted S3 objects.
+ SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
+}
+
+// String returns the string representation
+func (s SourceSelectionCriteria) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SourceSelectionCriteria) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SourceSelectionCriteria) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
+ if s.SseKmsEncryptedObjects != nil {
+ if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
+ invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
+func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
+ s.SseKmsEncryptedObjects = v
+ return s
+}
+
+// Container for filter information of selection of KMS Encrypted S3 objects.
+type SseKmsEncryptedObjects struct {
+ _ struct{} `type:"structure"`
+
+ // The replication for KMS encrypted S3 objects is disabled if status is not
+ // Enabled.
+ //
+ // Status is a required field
+ Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
+}
+
+// String returns the string representation
+func (s SseKmsEncryptedObjects) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SseKmsEncryptedObjects) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SseKmsEncryptedObjects) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetStatus sets the Status field's value.
+func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
+ s.Status = &v
+ return s
+}
+
+type Stats struct {
+ _ struct{} `type:"structure"`
+
+ // Total number of uncompressed object bytes processed.
+ BytesProcessed *int64 `type:"long"`
+
+ // Total number of bytes of records payload data returned.
+ BytesReturned *int64 `type:"long"`
+
+ // Total number of object bytes scanned.
+ BytesScanned *int64 `type:"long"`
+}
+
+// String returns the string representation
+func (s Stats) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Stats) GoString() string {
+ return s.String()
+}
+
+// SetBytesProcessed sets the BytesProcessed field's value.
+func (s *Stats) SetBytesProcessed(v int64) *Stats {
+ s.BytesProcessed = &v
+ return s
+}
+
+// SetBytesReturned sets the BytesReturned field's value.
+func (s *Stats) SetBytesReturned(v int64) *Stats {
+ s.BytesReturned = &v
+ return s
+}
+
+// SetBytesScanned sets the BytesScanned field's value.
+func (s *Stats) SetBytesScanned(v int64) *Stats {
+ s.BytesScanned = &v
+ return s
+}
+
+type StatsEvent struct {
+ _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
+
+ // The Stats event details.
+ Details *Stats `locationName:"Details" type:"structure"`
+}
+
+// String returns the string representation
+func (s StatsEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StatsEvent) GoString() string {
+ return s.String()
+}
+
+// SetDetails sets the Details field's value.
+func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
+ s.Details = v
+ return s
+}
+
+// The StatsEvent is and event in the SelectObjectContentEventStream group of events.
+func (s *StatsEvent) eventSelectObjectContentEventStream() {}
+
+// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
+// This method is only used internally within the SDK's EventStream handling.
+func (s *StatsEvent) UnmarshalEvent(
+ payloadUnmarshaler protocol.PayloadUnmarshaler,
+ msg eventstream.Message,
+) error {
+ if err := payloadUnmarshaler.UnmarshalPayload(
+ bytes.NewReader(msg.Payload), s,
+ ); err != nil {
+ return err
+ }
+ return nil
+}
+
+type StorageClassAnalysis struct {
+ _ struct{} `type:"structure"`
+
+ // A container used to describe how data related to the storage class analysis
+ // should be exported.
+ DataExport *StorageClassAnalysisDataExport `type:"structure"`
+}
+
+// String returns the string representation
+func (s StorageClassAnalysis) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StorageClassAnalysis) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *StorageClassAnalysis) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
+ if s.DataExport != nil {
+ if err := s.DataExport.Validate(); err != nil {
+ invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDataExport sets the DataExport field's value.
+func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
+ s.DataExport = v
+ return s
+}
+
+type StorageClassAnalysisDataExport struct {
+ _ struct{} `type:"structure"`
+
+ // The place to store the data for an analysis.
+ //
+ // Destination is a required field
+ Destination *AnalyticsExportDestination `type:"structure" required:"true"`
+
+ // The version of the output schema to use when exporting data. Must be V_1.
+ //
+ // OutputSchemaVersion is a required field
+ OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
+}
+
+// String returns the string representation
+func (s StorageClassAnalysisDataExport) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StorageClassAnalysisDataExport) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *StorageClassAnalysisDataExport) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
+ if s.Destination == nil {
+ invalidParams.Add(request.NewErrParamRequired("Destination"))
+ }
+ if s.OutputSchemaVersion == nil {
+ invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
+ }
+ if s.Destination != nil {
+ if err := s.Destination.Validate(); err != nil {
+ invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestination sets the Destination field's value.
+func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
+ s.Destination = v
+ return s
+}
+
+// SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
+func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
+ s.OutputSchemaVersion = &v
+ return s
+}
+
+type Tag struct {
+ _ struct{} `type:"structure"`
+
+ // Name of the tag.
+ //
+ // Key is a required field
+ Key *string `min:"1" type:"string" required:"true"`
+
+ // Value of the tag.
+ //
+ // 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
+}
+
+type Tagging struct {
+ _ struct{} `type:"structure"`
+
+ // TagSet is a required field
+ TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s Tagging) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Tagging) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Tagging) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Tagging"}
+ if s.TagSet == nil {
+ invalidParams.Add(request.NewErrParamRequired("TagSet"))
+ }
+ if s.TagSet != nil {
+ for i, v := range s.TagSet {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetTagSet sets the TagSet field's value.
+func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
+ s.TagSet = v
+ return s
+}
+
+type TargetGrant struct {
+ _ struct{} `type:"structure"`
+
+ Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
+
+ // Logging permissions assigned to the Grantee for the bucket.
+ Permission *string `type:"string" enum:"BucketLogsPermission"`
+}
+
+// String returns the string representation
+func (s TargetGrant) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TargetGrant) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TargetGrant) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
+ if s.Grantee != nil {
+ if err := s.Grantee.Validate(); err != nil {
+ invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrantee sets the Grantee field's value.
+func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
+ s.Grantee = v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *TargetGrant) SetPermission(v string) *TargetGrant {
+ s.Permission = &v
+ return s
+}
+
+// Container for specifying the configuration when you want Amazon S3 to publish
+// events to an Amazon Simple Notification Service (Amazon SNS) topic.
+type TopicConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Events is a required field
+ Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
+
+ // Container for object key name filtering rules. For information about key
+ // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+ Filter *NotificationConfigurationFilter `type:"structure"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ // Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects
+ // events of specified type.
+ //
+ // TopicArn is a required field
+ TopicArn *string `locationName:"Topic" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s TopicConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TopicConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TopicConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
+ if s.Events == nil {
+ invalidParams.Add(request.NewErrParamRequired("Events"))
+ }
+ if s.TopicArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("TopicArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEvents sets the Events field's value.
+func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
+ s.Events = v
+ return s
+}
+
+// SetFilter sets the Filter field's value.
+func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetTopicArn sets the TopicArn field's value.
+func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
+ s.TopicArn = &v
+ return s
+}
+
+type TopicConfigurationDeprecated struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket event for which to send notifications.
+ Event *string `deprecated:"true" type:"string" enum:"Event"`
+
+ Events []*string `locationName:"Event" type:"list" flattened:"true"`
+
+ // Optional unique identifier for configurations in a notification configuration.
+ // If you don't provide one, Amazon S3 will assign an ID.
+ Id *string `type:"string"`
+
+ // Amazon SNS topic to which Amazon S3 will publish a message to report the
+ // specified events for the bucket.
+ Topic *string `type:"string"`
+}
+
+// String returns the string representation
+func (s TopicConfigurationDeprecated) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TopicConfigurationDeprecated) GoString() string {
+ return s.String()
+}
+
+// SetEvent sets the Event field's value.
+func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
+ s.Event = &v
+ return s
+}
+
+// SetEvents sets the Events field's value.
+func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
+ s.Events = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
+ s.Id = &v
+ return s
+}
+
+// SetTopic sets the Topic field's value.
+func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
+ s.Topic = &v
+ return s
+}
+
+type Transition struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates at what date the object is to be moved or deleted. Should be in
+ // GMT ISO 8601 Format.
+ Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates the lifetime, in days, of the objects that are subject to the rule.
+ // The value must be a non-zero positive integer.
+ Days *int64 `type:"integer"`
+
+ // The class of storage used to store the object.
+ StorageClass *string `type:"string" enum:"TransitionStorageClass"`
+}
+
+// String returns the string representation
+func (s Transition) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Transition) GoString() string {
+ return s.String()
+}
+
+// SetDate sets the Date field's value.
+func (s *Transition) SetDate(v time.Time) *Transition {
+ s.Date = &v
+ return s
+}
+
+// SetDays sets the Days field's value.
+func (s *Transition) SetDays(v int64) *Transition {
+ s.Days = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *Transition) SetStorageClass(v string) *Transition {
+ s.StorageClass = &v
+ return s
+}
+
+type UploadPartCopyInput struct {
+ _ struct{} `type:"structure"`
+
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The name of the source bucket and key name of the source object, separated
+ // by a slash (/). Must be URL-encoded.
+ //
+ // CopySource is a required field
+ CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
+
+ // Copies the object if its entity tag (ETag) matches the specified tag.
+ CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
+
+ // Copies the object if it has been modified since the specified time.
+ CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // Copies the object if its entity tag (ETag) is different than the specified
+ // ETag.
+ CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
+
+ // Copies the object if it hasn't been modified since the specified time.
+ CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"`
+
+ // The range of bytes to copy from the source object. The range value must use
+ // the form bytes=first-last, where the first and last are the zero-based byte
+ // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
+ // first ten bytes of the source. You can copy a range only if the source object
+ // is greater than 5 GB.
+ CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
+
+ // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
+ CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
+ // the source object. The encryption key provided in this header must be one
+ // that was used when the source object was created.
+ CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Part number of part being copied. This is a positive integer between 1 and
+ // 10,000.
+ //
+ // PartNumber is a required field
+ PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header. This must be the same encryption key specified in the initiate multipart
+ // upload request.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Upload ID identifying the multipart upload whose part is being copied.
+ //
+ // UploadId is a required field
+ UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s UploadPartCopyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UploadPartCopyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UploadPartCopyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.CopySource == nil {
+ invalidParams.Add(request.NewErrParamRequired("CopySource"))
+ }
+ 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.PartNumber == nil {
+ invalidParams.Add(request.NewErrParamRequired("PartNumber"))
+ }
+ if s.UploadId == nil {
+ invalidParams.Add(request.NewErrParamRequired("UploadId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *UploadPartCopyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetCopySource sets the CopySource field's value.
+func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
+ s.CopySource = &v
+ return s
+}
+
+// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
+func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
+ s.CopySourceIfMatch = &v
+ return s
+}
+
+// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
+func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
+ s.CopySourceIfModifiedSince = &v
+ return s
+}
+
+// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
+func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
+ s.CopySourceIfNoneMatch = &v
+ return s
+}
+
+// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
+func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
+ s.CopySourceIfUnmodifiedSince = &v
+ return s
+}
+
+// SetCopySourceRange sets the CopySourceRange field's value.
+func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
+ s.CopySourceRange = &v
+ return s
+}
+
+// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
+func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
+ s.CopySourceSSECustomerAlgorithm = &v
+ return s
+}
+
+// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
+func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
+ s.CopySourceSSECustomerKey = &v
+ return s
+}
+
+func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
+ if s.CopySourceSSECustomerKey == nil {
+ return v
+ }
+ return *s.CopySourceSSECustomerKey
+}
+
+// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
+func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
+ s.CopySourceSSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
+ s.Key = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
+ s.PartNumber = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
+ s.UploadId = &v
+ return s
+}
+
+type UploadPartCopyOutput struct {
+ _ struct{} `type:"structure" payload:"CopyPartResult"`
+
+ CopyPartResult *CopyPartResult `type:"structure"`
+
+ // The version of the source object that was copied, if you have enabled versioning
+ // on the source bucket.
+ CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+}
+
+// String returns the string representation
+func (s UploadPartCopyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UploadPartCopyOutput) GoString() string {
+ return s.String()
+}
+
+// SetCopyPartResult sets the CopyPartResult field's value.
+func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
+ s.CopyPartResult = v
+ return s
+}
+
+// SetCopySourceVersionId sets the CopySourceVersionId field's value.
+func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
+ s.CopySourceVersionId = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+type UploadPartInput struct {
+ _ struct{} `type:"structure" payload:"Body"`
+
+ // Object data.
+ Body io.ReadSeeker `type:"blob"`
+
+ // Name of the bucket to which the multipart upload was initiated.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // Size of the body in bytes. This parameter is useful when the size of the
+ // body cannot be determined automatically.
+ ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
+
+ // The base64-encoded 128-bit MD5 digest of the part data.
+ ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
+
+ // Object key for which the multipart upload was initiated.
+ //
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Part number of part being uploaded. This is a positive integer between 1
+ // and 10,000.
+ //
+ // PartNumber is a required field
+ PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
+
+ // Confirms that the requester knows that she or he will be charged for the
+ // request. Bucket owners need not specify this parameter in their requests.
+ // Documentation on downloading objects from requester pays buckets can be found
+ // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // does not store the encryption key. The key must be appropriate for use with
+ // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header. This must be the same encryption key specified in the initiate multipart
+ // upload request.
+ SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure the encryption
+ // key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // Upload ID identifying the multipart upload whose part is being uploaded.
+ //
+ // UploadId is a required field
+ UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s UploadPartInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UploadPartInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UploadPartInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ 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.PartNumber == nil {
+ invalidParams.Add(request.NewErrParamRequired("PartNumber"))
+ }
+ if s.UploadId == nil {
+ invalidParams.Add(request.NewErrParamRequired("UploadId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBody sets the Body field's value.
+func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
+ s.Body = v
+ return s
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *UploadPartInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContentLength sets the ContentLength field's value.
+func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
+ s.ContentLength = &v
+ return s
+}
+
+// SetContentMD5 sets the ContentMD5 field's value.
+func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
+ s.ContentMD5 = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
+ s.Key = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
+ s.PartNumber = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *UploadPartInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetUploadId sets the UploadId field's value.
+func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
+ s.UploadId = &v
+ return s
+}
+
+type UploadPartOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Entity tag for the uploaded object.
+ ETag *string `location:"header" locationName:"ETag" type:"string"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header confirming the encryption algorithm
+ // used.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // If server-side encryption with a customer-provided encryption key was requested,
+ // the response will include this header to provide round trip message integrity
+ // verification of the customer-provided encryption key.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // If present, specifies the ID of the AWS Key Management Service (KMS) master
+ // encryption key that was used for the object.
+ SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`
+
+ // The Server-side encryption algorithm used when storing this object in S3
+ // (e.g., AES256, aws:kms).
+ ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
+}
+
+// String returns the string representation
+func (s UploadPartOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UploadPartOutput) GoString() string {
+ return s.String()
+}
+
+// SetETag sets the ETag field's value.
+func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
+func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
+ s.SSEKMSKeyId = &v
+ return s
+}
+
+// SetServerSideEncryption sets the ServerSideEncryption field's value.
+func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
+ s.ServerSideEncryption = &v
+ return s
+}
+
+type VersioningConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies whether MFA delete is enabled in the bucket versioning configuration.
+ // This element is only returned if the bucket has been configured with MFA
+ // delete. If the bucket has never been so configured, this element is not returned.
+ MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
+
+ // The versioning state of the bucket.
+ Status *string `type:"string" enum:"BucketVersioningStatus"`
+}
+
+// String returns the string representation
+func (s VersioningConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VersioningConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetMFADelete sets the MFADelete field's value.
+func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
+ s.MFADelete = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
+ s.Status = &v
+ return s
+}
+
+type WebsiteConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ ErrorDocument *ErrorDocument `type:"structure"`
+
+ IndexDocument *IndexDocument `type:"structure"`
+
+ RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
+
+ RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
+}
+
+// String returns the string representation
+func (s WebsiteConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s WebsiteConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *WebsiteConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
+ if s.ErrorDocument != nil {
+ if err := s.ErrorDocument.Validate(); err != nil {
+ invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.IndexDocument != nil {
+ if err := s.IndexDocument.Validate(); err != nil {
+ invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.RedirectAllRequestsTo != nil {
+ if err := s.RedirectAllRequestsTo.Validate(); err != nil {
+ invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.RoutingRules != nil {
+ for i, v := range s.RoutingRules {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetErrorDocument sets the ErrorDocument field's value.
+func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
+ s.ErrorDocument = v
+ return s
+}
+
+// SetIndexDocument sets the IndexDocument field's value.
+func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
+ s.IndexDocument = v
+ return s
+}
+
+// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
+func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
+ s.RedirectAllRequestsTo = v
+ return s
+}
+
+// SetRoutingRules sets the RoutingRules field's value.
+func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
+ s.RoutingRules = v
+ return s
+}
+
+const (
+ // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
+ AnalyticsS3ExportFileFormatCsv = "CSV"
+)
+
+const (
+ // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
+ BucketAccelerateStatusEnabled = "Enabled"
+
+ // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
+ BucketAccelerateStatusSuspended = "Suspended"
+)
+
+const (
+ // BucketCannedACLPrivate is a BucketCannedACL enum value
+ BucketCannedACLPrivate = "private"
+
+ // BucketCannedACLPublicRead is a BucketCannedACL enum value
+ BucketCannedACLPublicRead = "public-read"
+
+ // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
+ BucketCannedACLPublicReadWrite = "public-read-write"
+
+ // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
+ BucketCannedACLAuthenticatedRead = "authenticated-read"
+)
+
+const (
+ // BucketLocationConstraintEu is a BucketLocationConstraint enum value
+ BucketLocationConstraintEu = "EU"
+
+ // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintEuWest1 = "eu-west-1"
+
+ // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintUsWest1 = "us-west-1"
+
+ // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
+ BucketLocationConstraintUsWest2 = "us-west-2"
+
+ // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintApSouth1 = "ap-south-1"
+
+ // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
+
+ // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
+ BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
+
+ // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintApNortheast1 = "ap-northeast-1"
+
+ // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintSaEast1 = "sa-east-1"
+
+ // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintCnNorth1 = "cn-north-1"
+
+ // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
+ BucketLocationConstraintEuCentral1 = "eu-central-1"
+)
+
+const (
+ // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
+ BucketLogsPermissionFullControl = "FULL_CONTROL"
+
+ // BucketLogsPermissionRead is a BucketLogsPermission enum value
+ BucketLogsPermissionRead = "READ"
+
+ // BucketLogsPermissionWrite is a BucketLogsPermission enum value
+ BucketLogsPermissionWrite = "WRITE"
+)
+
+const (
+ // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
+ BucketVersioningStatusEnabled = "Enabled"
+
+ // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
+ BucketVersioningStatusSuspended = "Suspended"
+)
+
+const (
+ // CompressionTypeNone is a CompressionType enum value
+ CompressionTypeNone = "NONE"
+
+ // CompressionTypeGzip is a CompressionType enum value
+ CompressionTypeGzip = "GZIP"
+)
+
+// Requests Amazon S3 to encode the object keys in the response and specifies
+// the encoding method to use. An object key may contain any Unicode character;
+// however, XML 1.0 parser cannot parse some characters, such as characters
+// with an ASCII value from 0 to 10. For characters that are not supported in
+// XML 1.0, you can add this parameter to request that Amazon S3 encode the
+// keys in the response.
+const (
+ // EncodingTypeUrl is a EncodingType enum value
+ EncodingTypeUrl = "url"
+)
+
+// Bucket event for which to send notifications.
+const (
+ // EventS3ReducedRedundancyLostObject is a Event enum value
+ EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
+
+ // EventS3ObjectCreated is a Event enum value
+ EventS3ObjectCreated = "s3:ObjectCreated:*"
+
+ // EventS3ObjectCreatedPut is a Event enum value
+ EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
+
+ // EventS3ObjectCreatedPost is a Event enum value
+ EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
+
+ // EventS3ObjectCreatedCopy is a Event enum value
+ EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
+
+ // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
+ EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
+
+ // EventS3ObjectRemoved is a Event enum value
+ EventS3ObjectRemoved = "s3:ObjectRemoved:*"
+
+ // EventS3ObjectRemovedDelete is a Event enum value
+ EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
+
+ // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
+ EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
+)
+
+const (
+ // ExpirationStatusEnabled is a ExpirationStatus enum value
+ ExpirationStatusEnabled = "Enabled"
+
+ // ExpirationStatusDisabled is a ExpirationStatus enum value
+ ExpirationStatusDisabled = "Disabled"
+)
+
+const (
+ // ExpressionTypeSql is a ExpressionType enum value
+ ExpressionTypeSql = "SQL"
+)
+
+const (
+ // FileHeaderInfoUse is a FileHeaderInfo enum value
+ FileHeaderInfoUse = "USE"
+
+ // FileHeaderInfoIgnore is a FileHeaderInfo enum value
+ FileHeaderInfoIgnore = "IGNORE"
+
+ // FileHeaderInfoNone is a FileHeaderInfo enum value
+ FileHeaderInfoNone = "NONE"
+)
+
+const (
+ // FilterRuleNamePrefix is a FilterRuleName enum value
+ FilterRuleNamePrefix = "prefix"
+
+ // FilterRuleNameSuffix is a FilterRuleName enum value
+ FilterRuleNameSuffix = "suffix"
+)
+
+const (
+ // InventoryFormatCsv is a InventoryFormat enum value
+ InventoryFormatCsv = "CSV"
+
+ // InventoryFormatOrc is a InventoryFormat enum value
+ InventoryFormatOrc = "ORC"
+)
+
+const (
+ // InventoryFrequencyDaily is a InventoryFrequency enum value
+ InventoryFrequencyDaily = "Daily"
+
+ // InventoryFrequencyWeekly is a InventoryFrequency enum value
+ InventoryFrequencyWeekly = "Weekly"
+)
+
+const (
+ // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
+ InventoryIncludedObjectVersionsAll = "All"
+
+ // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
+ InventoryIncludedObjectVersionsCurrent = "Current"
+)
+
+const (
+ // InventoryOptionalFieldSize is a InventoryOptionalField enum value
+ InventoryOptionalFieldSize = "Size"
+
+ // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
+ InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
+
+ // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
+ InventoryOptionalFieldStorageClass = "StorageClass"
+
+ // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
+ InventoryOptionalFieldEtag = "ETag"
+
+ // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
+ InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
+
+ // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
+ InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
+
+ // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
+ InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
+)
+
+const (
+ // JSONTypeDocument is a JSONType enum value
+ JSONTypeDocument = "DOCUMENT"
+
+ // JSONTypeLines is a JSONType enum value
+ JSONTypeLines = "LINES"
+)
+
+const (
+ // MFADeleteEnabled is a MFADelete enum value
+ MFADeleteEnabled = "Enabled"
+
+ // MFADeleteDisabled is a MFADelete enum value
+ MFADeleteDisabled = "Disabled"
+)
+
+const (
+ // MFADeleteStatusEnabled is a MFADeleteStatus enum value
+ MFADeleteStatusEnabled = "Enabled"
+
+ // MFADeleteStatusDisabled is a MFADeleteStatus enum value
+ MFADeleteStatusDisabled = "Disabled"
+)
+
+const (
+ // MetadataDirectiveCopy is a MetadataDirective enum value
+ MetadataDirectiveCopy = "COPY"
+
+ // MetadataDirectiveReplace is a MetadataDirective enum value
+ MetadataDirectiveReplace = "REPLACE"
+)
+
+const (
+ // ObjectCannedACLPrivate is a ObjectCannedACL enum value
+ ObjectCannedACLPrivate = "private"
+
+ // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
+ ObjectCannedACLPublicRead = "public-read"
+
+ // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
+ ObjectCannedACLPublicReadWrite = "public-read-write"
+
+ // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
+ ObjectCannedACLAuthenticatedRead = "authenticated-read"
+
+ // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
+ ObjectCannedACLAwsExecRead = "aws-exec-read"
+
+ // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
+ ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
+
+ // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
+ ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
+)
+
+const (
+ // ObjectStorageClassStandard is a ObjectStorageClass enum value
+ ObjectStorageClassStandard = "STANDARD"
+
+ // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
+ ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
+
+ // ObjectStorageClassGlacier is a ObjectStorageClass enum value
+ ObjectStorageClassGlacier = "GLACIER"
+
+ // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
+ ObjectStorageClassStandardIa = "STANDARD_IA"
+
+ // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
+ ObjectStorageClassOnezoneIa = "ONEZONE_IA"
+)
+
+const (
+ // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
+ ObjectVersionStorageClassStandard = "STANDARD"
+)
+
+const (
+ // OwnerOverrideDestination is a OwnerOverride enum value
+ OwnerOverrideDestination = "Destination"
+)
+
+const (
+ // PayerRequester is a Payer enum value
+ PayerRequester = "Requester"
+
+ // PayerBucketOwner is a Payer enum value
+ PayerBucketOwner = "BucketOwner"
+)
+
+const (
+ // PermissionFullControl is a Permission enum value
+ PermissionFullControl = "FULL_CONTROL"
+
+ // PermissionWrite is a Permission enum value
+ PermissionWrite = "WRITE"
+
+ // PermissionWriteAcp is a Permission enum value
+ PermissionWriteAcp = "WRITE_ACP"
+
+ // PermissionRead is a Permission enum value
+ PermissionRead = "READ"
+
+ // PermissionReadAcp is a Permission enum value
+ PermissionReadAcp = "READ_ACP"
+)
+
+const (
+ // ProtocolHttp is a Protocol enum value
+ ProtocolHttp = "http"
+
+ // ProtocolHttps is a Protocol enum value
+ ProtocolHttps = "https"
+)
+
+const (
+ // QuoteFieldsAlways is a QuoteFields enum value
+ QuoteFieldsAlways = "ALWAYS"
+
+ // QuoteFieldsAsneeded is a QuoteFields enum value
+ QuoteFieldsAsneeded = "ASNEEDED"
+)
+
+const (
+ // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
+ ReplicationRuleStatusEnabled = "Enabled"
+
+ // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
+ ReplicationRuleStatusDisabled = "Disabled"
+)
+
+const (
+ // ReplicationStatusComplete is a ReplicationStatus enum value
+ ReplicationStatusComplete = "COMPLETE"
+
+ // ReplicationStatusPending is a ReplicationStatus enum value
+ ReplicationStatusPending = "PENDING"
+
+ // ReplicationStatusFailed is a ReplicationStatus enum value
+ ReplicationStatusFailed = "FAILED"
+
+ // ReplicationStatusReplica is a ReplicationStatus enum value
+ ReplicationStatusReplica = "REPLICA"
+)
+
+// If present, indicates that the requester was successfully charged for the
+// request.
+const (
+ // RequestChargedRequester is a RequestCharged enum value
+ RequestChargedRequester = "requester"
+)
+
+// Confirms that the requester knows that she or he will be charged for the
+// request. Bucket owners need not specify this parameter in their requests.
+// Documentation on downloading objects from requester pays buckets can be found
+// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+const (
+ // RequestPayerRequester is a RequestPayer enum value
+ RequestPayerRequester = "requester"
+)
+
+const (
+ // RestoreRequestTypeSelect is a RestoreRequestType enum value
+ RestoreRequestTypeSelect = "SELECT"
+)
+
+const (
+ // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
+ ServerSideEncryptionAes256 = "AES256"
+
+ // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
+ ServerSideEncryptionAwsKms = "aws:kms"
+)
+
+const (
+ // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
+ SseKmsEncryptedObjectsStatusEnabled = "Enabled"
+
+ // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
+ SseKmsEncryptedObjectsStatusDisabled = "Disabled"
+)
+
+const (
+ // StorageClassStandard is a StorageClass enum value
+ StorageClassStandard = "STANDARD"
+
+ // StorageClassReducedRedundancy is a StorageClass enum value
+ StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
+
+ // StorageClassStandardIa is a StorageClass enum value
+ StorageClassStandardIa = "STANDARD_IA"
+
+ // StorageClassOnezoneIa is a StorageClass enum value
+ StorageClassOnezoneIa = "ONEZONE_IA"
+)
+
+const (
+ // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
+ StorageClassAnalysisSchemaVersionV1 = "V_1"
+)
+
+const (
+ // TaggingDirectiveCopy is a TaggingDirective enum value
+ TaggingDirectiveCopy = "COPY"
+
+ // TaggingDirectiveReplace is a TaggingDirective enum value
+ TaggingDirectiveReplace = "REPLACE"
+)
+
+const (
+ // TierStandard is a Tier enum value
+ TierStandard = "Standard"
+
+ // TierBulk is a Tier enum value
+ TierBulk = "Bulk"
+
+ // TierExpedited is a Tier enum value
+ TierExpedited = "Expedited"
+)
+
+const (
+ // TransitionStorageClassGlacier is a TransitionStorageClass enum value
+ TransitionStorageClassGlacier = "GLACIER"
+
+ // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
+ TransitionStorageClassStandardIa = "STANDARD_IA"
+
+ // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
+ TransitionStorageClassOnezoneIa = "ONEZONE_IA"
+)
+
+const (
+ // TypeCanonicalUser is a Type enum value
+ TypeCanonicalUser = "CanonicalUser"
+
+ // TypeAmazonCustomerByEmail is a Type enum value
+ TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
+
+ // TypeGroup is a Type enum value
+ TypeGroup = "Group"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go
new file mode 100644
index 0000000000..5c8ce5cc8a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go
@@ -0,0 +1,249 @@
+package s3
+
+import (
+ "bytes"
+ "crypto/md5"
+ "crypto/sha256"
+ "encoding/base64"
+ "encoding/hex"
+ "fmt"
+ "hash"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/internal/sdkio"
+)
+
+const (
+ contentMD5Header = "Content-Md5"
+ contentSha256Header = "X-Amz-Content-Sha256"
+ amzTeHeader = "X-Amz-Te"
+ amzTxEncodingHeader = "X-Amz-Transfer-Encoding"
+
+ appendMD5TxEncoding = "append-md5"
+)
+
+// contentMD5 computes and sets the HTTP Content-MD5 header for requests that
+// require it.
+func contentMD5(r *request.Request) {
+ h := md5.New()
+
+ if !aws.IsReaderSeekable(r.Body) {
+ if r.Config.Logger != nil {
+ r.Config.Logger.Log(fmt.Sprintf(
+ "Unable to compute Content-MD5 for unseekable body, S3.%s",
+ r.Operation.Name))
+ }
+ return
+ }
+
+ if _, err := copySeekableBody(h, r.Body); err != nil {
+ r.Error = awserr.New("ContentMD5", "failed to compute body MD5", err)
+ return
+ }
+
+ // encode the md5 checksum in base64 and set the request header.
+ v := base64.StdEncoding.EncodeToString(h.Sum(nil))
+ r.HTTPRequest.Header.Set(contentMD5Header, v)
+}
+
+// computeBodyHashes will add Content MD5 and Content Sha256 hashes to the
+// request. If the body is not seekable or S3DisableContentMD5Validation set
+// this handler will be ignored.
+func computeBodyHashes(r *request.Request) {
+ if aws.BoolValue(r.Config.S3DisableContentMD5Validation) {
+ return
+ }
+ if r.IsPresigned() {
+ return
+ }
+ if r.Error != nil || !aws.IsReaderSeekable(r.Body) {
+ return
+ }
+
+ var md5Hash, sha256Hash hash.Hash
+ hashers := make([]io.Writer, 0, 2)
+
+ // Determine upfront which hashes can be set without overriding user
+ // provide header data.
+ if v := r.HTTPRequest.Header.Get(contentMD5Header); len(v) == 0 {
+ md5Hash = md5.New()
+ hashers = append(hashers, md5Hash)
+ }
+
+ if v := r.HTTPRequest.Header.Get(contentSha256Header); len(v) == 0 {
+ sha256Hash = sha256.New()
+ hashers = append(hashers, sha256Hash)
+ }
+
+ // Create the destination writer based on the hashes that are not already
+ // provided by the user.
+ var dst io.Writer
+ switch len(hashers) {
+ case 0:
+ return
+ case 1:
+ dst = hashers[0]
+ default:
+ dst = io.MultiWriter(hashers...)
+ }
+
+ if _, err := copySeekableBody(dst, r.Body); err != nil {
+ r.Error = awserr.New("BodyHashError", "failed to compute body hashes", err)
+ return
+ }
+
+ // For the hashes created, set the associated headers that the user did not
+ // already provide.
+ if md5Hash != nil {
+ sum := make([]byte, md5.Size)
+ encoded := make([]byte, md5Base64EncLen)
+
+ base64.StdEncoding.Encode(encoded, md5Hash.Sum(sum[0:0]))
+ r.HTTPRequest.Header[contentMD5Header] = []string{string(encoded)}
+ }
+
+ if sha256Hash != nil {
+ encoded := make([]byte, sha256HexEncLen)
+ sum := make([]byte, sha256.Size)
+
+ hex.Encode(encoded, sha256Hash.Sum(sum[0:0]))
+ r.HTTPRequest.Header[contentSha256Header] = []string{string(encoded)}
+ }
+}
+
+const (
+ md5Base64EncLen = (md5.Size + 2) / 3 * 4 // base64.StdEncoding.EncodedLen
+ sha256HexEncLen = sha256.Size * 2 // hex.EncodedLen
+)
+
+func copySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) {
+ curPos, err := src.Seek(0, sdkio.SeekCurrent)
+ if err != nil {
+ return 0, err
+ }
+
+ // hash the body. seek back to the first position after reading to reset
+ // the body for transmission. copy errors may be assumed to be from the
+ // body.
+ n, err := io.Copy(dst, src)
+ if err != nil {
+ return n, err
+ }
+
+ _, err = src.Seek(curPos, sdkio.SeekStart)
+ if err != nil {
+ return n, err
+ }
+
+ return n, nil
+}
+
+// Adds the x-amz-te: append_md5 header to the request. This requests the service
+// responds with a trailing MD5 checksum.
+//
+// Will not ask for append MD5 if disabled, the request is presigned or,
+// or the API operation does not support content MD5 validation.
+func askForTxEncodingAppendMD5(r *request.Request) {
+ if aws.BoolValue(r.Config.S3DisableContentMD5Validation) {
+ return
+ }
+ if r.IsPresigned() {
+ return
+ }
+ r.HTTPRequest.Header.Set(amzTeHeader, appendMD5TxEncoding)
+}
+
+func useMD5ValidationReader(r *request.Request) {
+ if r.Error != nil {
+ return
+ }
+
+ if v := r.HTTPResponse.Header.Get(amzTxEncodingHeader); v != appendMD5TxEncoding {
+ return
+ }
+
+ var bodyReader *io.ReadCloser
+ var contentLen int64
+ switch tv := r.Data.(type) {
+ case *GetObjectOutput:
+ bodyReader = &tv.Body
+ contentLen = aws.Int64Value(tv.ContentLength)
+ // Update ContentLength hiden the trailing MD5 checksum.
+ tv.ContentLength = aws.Int64(contentLen - md5.Size)
+ tv.ContentRange = aws.String(r.HTTPResponse.Header.Get("X-Amz-Content-Range"))
+ default:
+ r.Error = awserr.New("ChecksumValidationError",
+ fmt.Sprintf("%s: %s header received on unsupported API, %s",
+ amzTxEncodingHeader, appendMD5TxEncoding, r.Operation.Name,
+ ), nil)
+ return
+ }
+
+ if contentLen < md5.Size {
+ r.Error = awserr.New("ChecksumValidationError",
+ fmt.Sprintf("invalid Content-Length %d for %s %s",
+ contentLen, appendMD5TxEncoding, amzTxEncodingHeader,
+ ), nil)
+ return
+ }
+
+ // Wrap and swap the response body reader with the validation reader.
+ *bodyReader = newMD5ValidationReader(*bodyReader, contentLen-md5.Size)
+}
+
+type md5ValidationReader struct {
+ rawReader io.ReadCloser
+ payload io.Reader
+ hash hash.Hash
+
+ payloadLen int64
+ read int64
+}
+
+func newMD5ValidationReader(reader io.ReadCloser, payloadLen int64) *md5ValidationReader {
+ h := md5.New()
+ return &md5ValidationReader{
+ rawReader: reader,
+ payload: io.TeeReader(&io.LimitedReader{R: reader, N: payloadLen}, h),
+ hash: h,
+ payloadLen: payloadLen,
+ }
+}
+
+func (v *md5ValidationReader) Read(p []byte) (n int, err error) {
+ n, err = v.payload.Read(p)
+ if err != nil && err != io.EOF {
+ return n, err
+ }
+
+ v.read += int64(n)
+
+ if err == io.EOF {
+ if v.read != v.payloadLen {
+ return n, io.ErrUnexpectedEOF
+ }
+ expectSum := make([]byte, md5.Size)
+ actualSum := make([]byte, md5.Size)
+ if _, sumReadErr := io.ReadFull(v.rawReader, expectSum); sumReadErr != nil {
+ return n, sumReadErr
+ }
+ actualSum = v.hash.Sum(actualSum[0:0])
+ if !bytes.Equal(expectSum, actualSum) {
+ return n, awserr.New("InvalidChecksum",
+ fmt.Sprintf("expected MD5 checksum %s, got %s",
+ hex.EncodeToString(expectSum),
+ hex.EncodeToString(actualSum),
+ ),
+ nil)
+ }
+ }
+
+ return n, err
+}
+
+func (v *md5ValidationReader) Close() error {
+ return v.rawReader.Close()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go b/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go
new file mode 100644
index 0000000000..bc68a46acf
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go
@@ -0,0 +1,106 @@
+package s3
+
+import (
+ "io/ioutil"
+ "regexp"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+var reBucketLocation = regexp.MustCompile(`>([^<>]+)<\/Location`)
+
+// NormalizeBucketLocation is a utility function which will update the
+// passed in value to always be a region ID. Generally this would be used
+// with GetBucketLocation API operation.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+func NormalizeBucketLocation(loc string) string {
+ switch loc {
+ case "":
+ loc = "us-east-1"
+ case "EU":
+ loc = "eu-west-1"
+ }
+
+ return loc
+}
+
+// NormalizeBucketLocationHandler is a request handler which will update the
+// GetBucketLocation's result LocationConstraint value to always be a region ID.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+//
+// req, result := svc.GetBucketLocationRequest(&s3.GetBucketLocationInput{
+// Bucket: aws.String(bucket),
+// })
+// req.Handlers.Unmarshal.PushBackNamed(NormalizeBucketLocationHandler)
+// err := req.Send()
+var NormalizeBucketLocationHandler = request.NamedHandler{
+ Name: "awssdk.s3.NormalizeBucketLocation",
+ Fn: func(req *request.Request) {
+ if req.Error != nil {
+ return
+ }
+
+ out := req.Data.(*GetBucketLocationOutput)
+ loc := NormalizeBucketLocation(aws.StringValue(out.LocationConstraint))
+ out.LocationConstraint = aws.String(loc)
+ },
+}
+
+// WithNormalizeBucketLocation is a request option which will update the
+// GetBucketLocation's result LocationConstraint value to always be a region ID.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+//
+// result, err := svc.GetBucketLocationWithContext(ctx,
+// &s3.GetBucketLocationInput{
+// Bucket: aws.String(bucket),
+// },
+// s3.WithNormalizeBucketLocation,
+// )
+func WithNormalizeBucketLocation(r *request.Request) {
+ r.Handlers.Unmarshal.PushBackNamed(NormalizeBucketLocationHandler)
+}
+
+func buildGetBucketLocation(r *request.Request) {
+ if r.DataFilled() {
+ out := r.Data.(*GetBucketLocationOutput)
+ b, err := ioutil.ReadAll(r.HTTPResponse.Body)
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed reading response body", err)
+ return
+ }
+
+ match := reBucketLocation.FindSubmatch(b)
+ if len(match) > 1 {
+ loc := string(match[1])
+ out.LocationConstraint = aws.String(loc)
+ }
+ }
+}
+
+func populateLocationConstraint(r *request.Request) {
+ if r.ParamsFilled() && aws.StringValue(r.Config.Region) != "us-east-1" {
+ in := r.Params.(*CreateBucketInput)
+ if in.CreateBucketConfiguration == nil {
+ r.Params = awsutil.CopyOf(r.Params)
+ in = r.Params.(*CreateBucketInput)
+ in.CreateBucketConfiguration = &CreateBucketConfiguration{
+ LocationConstraint: r.Config.Region,
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
new file mode 100644
index 0000000000..a55beab96d
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
@@ -0,0 +1,70 @@
+package s3
+
+import (
+ "github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+func init() {
+ initClient = defaultInitClientFn
+ initRequest = defaultInitRequestFn
+}
+
+func defaultInitClientFn(c *client.Client) {
+ // Support building custom endpoints based on config
+ c.Handlers.Build.PushFront(updateEndpointForS3Config)
+
+ // Require SSL when using SSE keys
+ c.Handlers.Validate.PushBack(validateSSERequiresSSL)
+ c.Handlers.Build.PushBack(computeSSEKeys)
+
+ // S3 uses custom error unmarshaling logic
+ c.Handlers.UnmarshalError.Clear()
+ c.Handlers.UnmarshalError.PushBack(unmarshalError)
+}
+
+func defaultInitRequestFn(r *request.Request) {
+ // Add reuest handlers for specific platforms.
+ // e.g. 100-continue support for PUT requests using Go 1.6
+ platformRequestHandlers(r)
+
+ switch r.Operation.Name {
+ case opPutBucketCors, opPutBucketLifecycle, opPutBucketPolicy,
+ opPutBucketTagging, opDeleteObjects, opPutBucketLifecycleConfiguration,
+ opPutBucketReplication:
+ // These S3 operations require Content-MD5 to be set
+ r.Handlers.Build.PushBack(contentMD5)
+ case opGetBucketLocation:
+ // GetBucketLocation has custom parsing logic
+ r.Handlers.Unmarshal.PushFront(buildGetBucketLocation)
+ case opCreateBucket:
+ // Auto-populate LocationConstraint with current region
+ r.Handlers.Validate.PushFront(populateLocationConstraint)
+ case opCopyObject, opUploadPartCopy, opCompleteMultipartUpload:
+ r.Handlers.Unmarshal.PushFront(copyMultipartStatusOKUnmarhsalError)
+ case opPutObject, opUploadPart:
+ r.Handlers.Build.PushBack(computeBodyHashes)
+ // Disabled until #1837 root issue is resolved.
+ // case opGetObject:
+ // r.Handlers.Build.PushBack(askForTxEncodingAppendMD5)
+ // r.Handlers.Unmarshal.PushBack(useMD5ValidationReader)
+ }
+}
+
+// bucketGetter is an accessor interface to grab the "Bucket" field from
+// an S3 type.
+type bucketGetter interface {
+ getBucket() string
+}
+
+// sseCustomerKeyGetter is an accessor interface to grab the "SSECustomerKey"
+// field from an S3 type.
+type sseCustomerKeyGetter interface {
+ getSSECustomerKey() string
+}
+
+// copySourceSSECustomerKeyGetter is an accessor interface to grab the
+// "CopySourceSSECustomerKey" field from an S3 type.
+type copySourceSSECustomerKeyGetter interface {
+ getCopySourceSSECustomerKey() string
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
new file mode 100644
index 0000000000..0def02255a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
@@ -0,0 +1,26 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package s3 provides the client and types for making API
+// requests to Amazon Simple Storage Service.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01 for more information on this service.
+//
+// See s3 package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/
+//
+// Using the Client
+//
+// To contact Amazon Simple Storage 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 Simple Storage Service client S3 for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#New
+package s3
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
new file mode 100644
index 0000000000..39b912c260
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
@@ -0,0 +1,109 @@
+// Upload Managers
+//
+// The s3manager package's Uploader provides concurrent upload of content to S3
+// by taking advantage of S3's Multipart APIs. The Uploader also supports both
+// io.Reader for streaming uploads, and will also take advantage of io.ReadSeeker
+// for optimizations if the Body satisfies that type. Once the Uploader instance
+// is created you can call Upload concurrently from multiple goroutines safely.
+//
+// // The session the S3 Uploader will use
+// sess := session.Must(session.NewSession())
+//
+// // Create an uploader with the session and default options
+// uploader := s3manager.NewUploader(sess)
+//
+// f, err := os.Open(filename)
+// if err != nil {
+// return fmt.Errorf("failed to open file %q, %v", filename, err)
+// }
+//
+// // Upload the file to S3.
+// result, err := uploader.Upload(&s3manager.UploadInput{
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myString),
+// Body: f,
+// })
+// if err != nil {
+// return fmt.Errorf("failed to upload file, %v", err)
+// }
+// fmt.Printf("file uploaded to, %s\n", aws.StringValue(result.Location))
+//
+// See the s3manager package's Uploader type documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Uploader
+//
+// Download Manager
+//
+// The s3manager package's Downloader provides concurrently downloading of Objects
+// from S3. The Downloader will write S3 Object content with an io.WriterAt.
+// Once the Downloader instance is created you can call Download concurrently from
+// multiple goroutines safely.
+//
+// // The session the S3 Downloader will use
+// sess := session.Must(session.NewSession())
+//
+// // Create a downloader with the session and default options
+// downloader := s3manager.NewDownloader(sess)
+//
+// // Create a file to write the S3 Object contents to.
+// f, err := os.Create(filename)
+// if err != nil {
+// return fmt.Errorf("failed to create file %q, %v", filename, err)
+// }
+//
+// // Write the contents of S3 Object to the file
+// n, err := downloader.Download(f, &s3.GetObjectInput{
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myString),
+// })
+// if err != nil {
+// return fmt.Errorf("failed to download file, %v", err)
+// }
+// fmt.Printf("file downloaded, %d bytes\n", n)
+//
+// See the s3manager package's Downloader type documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Downloader
+//
+// Get Bucket Region
+//
+// GetBucketRegion will attempt to get the region for a bucket using a region
+// hint to determine which AWS partition to perform the query on. Use this utility
+// to determine the region a bucket is in.
+//
+// sess := session.Must(session.NewSession())
+//
+// bucket := "my-bucket"
+// region, err := s3manager.GetBucketRegion(ctx, sess, bucket, "us-west-2")
+// if err != nil {
+// if aerr, ok := err.(awserr.Error); ok && aerr.Code() == "NotFound" {
+// fmt.Fprintf(os.Stderr, "unable to find bucket %s's region not found\n", bucket)
+// }
+// return err
+// }
+// fmt.Printf("Bucket %s is in %s region\n", bucket, region)
+//
+// See the s3manager package's GetBucketRegion function documentation for more information
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#GetBucketRegion
+//
+// S3 Crypto Client
+//
+// The s3crypto package provides the tools to upload and download encrypted
+// content from S3. The Encryption and Decryption clients can be used concurrently
+// once the client is created.
+//
+// sess := session.Must(session.NewSession())
+//
+// // Create the decryption client.
+// svc := s3crypto.NewDecryptionClient(sess)
+//
+// // The object will be downloaded from S3 and decrypted locally. By metadata
+// // about the object's encryption will instruct the decryption client how
+// // decrypt the content of the object. By default KMS is used for keys.
+// result, err := svc.GetObject(&s3.GetObjectInput {
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myKey),
+// })
+//
+// See the s3crypto package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3crypto/
+//
+package s3
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
new file mode 100644
index 0000000000..931cb17bb0
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
@@ -0,0 +1,48 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package s3
+
+const (
+
+ // ErrCodeBucketAlreadyExists for service response error code
+ // "BucketAlreadyExists".
+ //
+ // The requested bucket name is not available. The bucket namespace is shared
+ // by all users of the system. Please select a different name and try again.
+ ErrCodeBucketAlreadyExists = "BucketAlreadyExists"
+
+ // ErrCodeBucketAlreadyOwnedByYou for service response error code
+ // "BucketAlreadyOwnedByYou".
+ ErrCodeBucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou"
+
+ // ErrCodeNoSuchBucket for service response error code
+ // "NoSuchBucket".
+ //
+ // The specified bucket does not exist.
+ ErrCodeNoSuchBucket = "NoSuchBucket"
+
+ // ErrCodeNoSuchKey for service response error code
+ // "NoSuchKey".
+ //
+ // The specified key does not exist.
+ ErrCodeNoSuchKey = "NoSuchKey"
+
+ // ErrCodeNoSuchUpload for service response error code
+ // "NoSuchUpload".
+ //
+ // The specified multipart upload does not exist.
+ ErrCodeNoSuchUpload = "NoSuchUpload"
+
+ // ErrCodeObjectAlreadyInActiveTierError for service response error code
+ // "ObjectAlreadyInActiveTierError".
+ //
+ // This operation is not allowed against this storage tier
+ ErrCodeObjectAlreadyInActiveTierError = "ObjectAlreadyInActiveTierError"
+
+ // ErrCodeObjectNotInActiveTierError for service response error code
+ // "ObjectNotInActiveTierError".
+ //
+ // The source object of the COPY operation is not in the active tier and is
+ // only stored in Amazon Glacier.
+ ErrCodeObjectNotInActiveTierError = "ObjectNotInActiveTierError"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
new file mode 100644
index 0000000000..a7fbc2de2f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
@@ -0,0 +1,155 @@
+package s3
+
+import (
+ "fmt"
+ "net/url"
+ "regexp"
+ "strings"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+// an operationBlacklist is a list of operation names that should a
+// request handler should not be executed with.
+type operationBlacklist []string
+
+// Continue will return true of the Request's operation name is not
+// in the blacklist. False otherwise.
+func (b operationBlacklist) Continue(r *request.Request) bool {
+ for i := 0; i < len(b); i++ {
+ if b[i] == r.Operation.Name {
+ return false
+ }
+ }
+ return true
+}
+
+var accelerateOpBlacklist = operationBlacklist{
+ opListBuckets, opCreateBucket, opDeleteBucket,
+}
+
+// Request handler to automatically add the bucket name to the endpoint domain
+// if possible. This style of bucket is valid for all bucket names which are
+// DNS compatible and do not contain "."
+func updateEndpointForS3Config(r *request.Request) {
+ forceHostStyle := aws.BoolValue(r.Config.S3ForcePathStyle)
+ accelerate := aws.BoolValue(r.Config.S3UseAccelerate)
+
+ if accelerate && accelerateOpBlacklist.Continue(r) {
+ if forceHostStyle {
+ if r.Config.Logger != nil {
+ r.Config.Logger.Log("ERROR: aws.Config.S3UseAccelerate is not compatible with aws.Config.S3ForcePathStyle, ignoring S3ForcePathStyle.")
+ }
+ }
+ updateEndpointForAccelerate(r)
+ } else if !forceHostStyle && r.Operation.Name != opGetBucketLocation {
+ updateEndpointForHostStyle(r)
+ }
+}
+
+func updateEndpointForHostStyle(r *request.Request) {
+ bucket, ok := bucketNameFromReqParams(r.Params)
+ if !ok {
+ // Ignore operation requests if the bucketname was not provided
+ // if this is an input validation error the validation handler
+ // will report it.
+ return
+ }
+
+ if !hostCompatibleBucketName(r.HTTPRequest.URL, bucket) {
+ // bucket name must be valid to put into the host
+ return
+ }
+
+ moveBucketToHost(r.HTTPRequest.URL, bucket)
+}
+
+var (
+ accelElem = []byte("s3-accelerate.dualstack.")
+)
+
+func updateEndpointForAccelerate(r *request.Request) {
+ bucket, ok := bucketNameFromReqParams(r.Params)
+ if !ok {
+ // Ignore operation requests if the bucketname was not provided
+ // if this is an input validation error the validation handler
+ // will report it.
+ return
+ }
+
+ if !hostCompatibleBucketName(r.HTTPRequest.URL, bucket) {
+ r.Error = awserr.New("InvalidParameterException",
+ fmt.Sprintf("bucket name %s is not compatible with S3 Accelerate", bucket),
+ nil)
+ return
+ }
+
+ parts := strings.Split(r.HTTPRequest.URL.Host, ".")
+ if len(parts) < 3 {
+ r.Error = awserr.New("InvalidParameterExecption",
+ fmt.Sprintf("unable to update endpoint host for S3 accelerate, hostname invalid, %s",
+ r.HTTPRequest.URL.Host), nil)
+ return
+ }
+
+ if parts[0] == "s3" || strings.HasPrefix(parts[0], "s3-") {
+ parts[0] = "s3-accelerate"
+ }
+ for i := 1; i+1 < len(parts); i++ {
+ if parts[i] == aws.StringValue(r.Config.Region) {
+ parts = append(parts[:i], parts[i+1:]...)
+ break
+ }
+ }
+
+ r.HTTPRequest.URL.Host = strings.Join(parts, ".")
+
+ moveBucketToHost(r.HTTPRequest.URL, bucket)
+}
+
+// Attempts to retrieve the bucket name from the request input parameters.
+// If no bucket is found, or the field is empty "", false will be returned.
+func bucketNameFromReqParams(params interface{}) (string, bool) {
+ if iface, ok := params.(bucketGetter); ok {
+ b := iface.getBucket()
+ return b, len(b) > 0
+ }
+
+ return "", false
+}
+
+// hostCompatibleBucketName returns true if the request should
+// put the bucket in the host. This is false if S3ForcePathStyle is
+// explicitly set or if the bucket is not DNS compatible.
+func hostCompatibleBucketName(u *url.URL, bucket string) bool {
+ // Bucket might be DNS compatible but dots in the hostname will fail
+ // certificate validation, so do not use host-style.
+ if u.Scheme == "https" && strings.Contains(bucket, ".") {
+ return false
+ }
+
+ // if the bucket is DNS compatible
+ return dnsCompatibleBucketName(bucket)
+}
+
+var reDomain = regexp.MustCompile(`^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$`)
+var reIPAddress = regexp.MustCompile(`^(\d+\.){3}\d+$`)
+
+// dnsCompatibleBucketName returns true if the bucket name is DNS compatible.
+// Buckets created outside of the classic region MUST be DNS compatible.
+func dnsCompatibleBucketName(bucket string) bool {
+ return reDomain.MatchString(bucket) &&
+ !reIPAddress.MatchString(bucket) &&
+ !strings.Contains(bucket, "..")
+}
+
+// moveBucketToHost moves the bucket name from the URI path to URL host.
+func moveBucketToHost(u *url.URL, bucket string) {
+ u.Host = bucket + "." + u.Host
+ u.Path = strings.Replace(u.Path, "/{Bucket}", "", -1)
+ if u.Path == "" {
+ u.Path = "/"
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers.go b/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers.go
new file mode 100644
index 0000000000..8e6f3307d4
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers.go
@@ -0,0 +1,8 @@
+// +build !go1.6
+
+package s3
+
+import "github.com/aws/aws-sdk-go/aws/request"
+
+func platformRequestHandlers(r *request.Request) {
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers_go1.6.go b/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers_go1.6.go
new file mode 100644
index 0000000000..14d05f7b75
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers_go1.6.go
@@ -0,0 +1,28 @@
+// +build go1.6
+
+package s3
+
+import (
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+func platformRequestHandlers(r *request.Request) {
+ if r.Operation.HTTPMethod == "PUT" {
+ // 100-Continue should only be used on put requests.
+ r.Handlers.Sign.PushBack(add100Continue)
+ }
+}
+
+func add100Continue(r *request.Request) {
+ if aws.BoolValue(r.Config.S3Disable100Continue) {
+ return
+ }
+ if r.HTTPRequest.ContentLength < 1024*1024*2 {
+ // Ignore requests smaller than 2MB. This helps prevent delaying
+ // requests unnecessarily.
+ return
+ }
+
+ r.HTTPRequest.Header.Set("Expect", "100-Continue")
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/service.go b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
new file mode 100644
index 0000000000..20de53f29d
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
@@ -0,0 +1,97 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package s3
+
+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"
+)
+
+// S3 provides the API operation methods for making requests to
+// Amazon Simple Storage Service. See this package's package overview docs
+// for details on the service.
+//
+// S3 methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
+type S3 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" // Name of service.
+ EndpointsID = ServiceName // ID to lookup a service endpoint with.
+ ServiceID = "S3" // ServiceID is a unique identifer of a specific service.
+)
+
+// New creates a new instance of the S3 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 S3 client from just a session.
+// svc := s3.New(mySession)
+//
+// // Create a S3 client with additional configuration
+// svc := s3.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
+func New(p client.ConfigProvider, cfgs ...*aws.Config) *S3 {
+ 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) *S3 {
+ svc := &S3{
+ Client: client.New(
+ cfg,
+ metadata.ClientInfo{
+ ServiceName: ServiceName,
+ ServiceID: ServiceID,
+ SigningName: signingName,
+ SigningRegion: signingRegion,
+ Endpoint: endpoint,
+ APIVersion: "2006-03-01",
+ },
+ handlers,
+ ),
+ }
+
+ // Handlers
+ svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
+ svc.Handlers.Build.PushBackNamed(restxml.BuildHandler)
+ svc.Handlers.Unmarshal.PushBackNamed(restxml.UnmarshalHandler)
+ svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler)
+ svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler)
+
+ svc.Handlers.UnmarshalStream.PushBackNamed(restxml.UnmarshalHandler)
+
+ // Run custom client initialization if present
+ if initClient != nil {
+ initClient(svc.Client)
+ }
+
+ return svc
+}
+
+// newRequest creates a new request for a S3 operation and runs any
+// custom request initialization.
+func (c *S3) newRequest(op *request.Operation, params, data interface{}) *request.Request {
+ req := c.NewRequest(op, params, data)
+
+ // Run custom request initialization if present
+ if initRequest != nil {
+ initRequest(req)
+ }
+
+ return req
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
new file mode 100644
index 0000000000..8010c4fa19
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
@@ -0,0 +1,54 @@
+package s3
+
+import (
+ "crypto/md5"
+ "encoding/base64"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+var errSSERequiresSSL = awserr.New("ConfigError", "cannot send SSE keys over HTTP.", nil)
+
+func validateSSERequiresSSL(r *request.Request) {
+ if r.HTTPRequest.URL.Scheme == "https" {
+ return
+ }
+
+ if iface, ok := r.Params.(sseCustomerKeyGetter); ok {
+ if len(iface.getSSECustomerKey()) > 0 {
+ r.Error = errSSERequiresSSL
+ return
+ }
+ }
+
+ if iface, ok := r.Params.(copySourceSSECustomerKeyGetter); ok {
+ if len(iface.getCopySourceSSECustomerKey()) > 0 {
+ r.Error = errSSERequiresSSL
+ return
+ }
+ }
+}
+
+func computeSSEKeys(r *request.Request) {
+ headers := []string{
+ "x-amz-server-side-encryption-customer-key",
+ "x-amz-copy-source-server-side-encryption-customer-key",
+ }
+
+ for _, h := range headers {
+ md5h := h + "-md5"
+ if key := r.HTTPRequest.Header.Get(h); key != "" {
+ // Base64-encode the value
+ b64v := base64.StdEncoding.EncodeToString([]byte(key))
+ r.HTTPRequest.Header.Set(h, b64v)
+
+ // Add MD5 if it wasn't computed
+ if r.HTTPRequest.Header.Get(md5h) == "" {
+ sum := md5.Sum([]byte(key))
+ b64sum := base64.StdEncoding.EncodeToString(sum[:])
+ r.HTTPRequest.Header.Set(md5h, b64sum)
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go
new file mode 100644
index 0000000000..9f33efc6ca
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go
@@ -0,0 +1,36 @@
+package s3
+
+import (
+ "bytes"
+ "io/ioutil"
+ "net/http"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/internal/sdkio"
+)
+
+func copyMultipartStatusOKUnmarhsalError(r *request.Request) {
+ b, err := ioutil.ReadAll(r.HTTPResponse.Body)
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "unable to read response body", err)
+ return
+ }
+ body := bytes.NewReader(b)
+ r.HTTPResponse.Body = ioutil.NopCloser(body)
+ defer body.Seek(0, sdkio.SeekStart)
+
+ if body.Len() == 0 {
+ // If there is no body don't attempt to parse the body.
+ return
+ }
+
+ unmarshalError(r)
+ if err, ok := r.Error.(awserr.Error); ok && err != nil {
+ if err.Code() == "SerializationError" {
+ r.Error = nil
+ return
+ }
+ r.HTTPResponse.StatusCode = http.StatusServiceUnavailable
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go
new file mode 100644
index 0000000000..bcca8627af
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go
@@ -0,0 +1,103 @@
+package s3
+
+import (
+ "encoding/xml"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "net/http"
+ "strings"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+type xmlErrorResponse struct {
+ XMLName xml.Name `xml:"Error"`
+ Code string `xml:"Code"`
+ Message string `xml:"Message"`
+}
+
+func unmarshalError(r *request.Request) {
+ defer r.HTTPResponse.Body.Close()
+ defer io.Copy(ioutil.Discard, r.HTTPResponse.Body)
+
+ hostID := r.HTTPResponse.Header.Get("X-Amz-Id-2")
+
+ // Bucket exists in a different region, and request needs
+ // to be made to the correct region.
+ if r.HTTPResponse.StatusCode == http.StatusMovedPermanently {
+ r.Error = requestFailure{
+ RequestFailure: awserr.NewRequestFailure(
+ awserr.New("BucketRegionError",
+ fmt.Sprintf("incorrect region, the bucket is not in '%s' region",
+ aws.StringValue(r.Config.Region)),
+ nil),
+ r.HTTPResponse.StatusCode,
+ r.RequestID,
+ ),
+ hostID: hostID,
+ }
+ return
+ }
+
+ var errCode, errMsg string
+
+ // Attempt to parse error from body if it is known
+ resp := &xmlErrorResponse{}
+ err := xml.NewDecoder(r.HTTPResponse.Body).Decode(resp)
+ if err != nil && err != io.EOF {
+ errCode = "SerializationError"
+ errMsg = "failed to decode S3 XML error response"
+ } else {
+ errCode = resp.Code
+ errMsg = resp.Message
+ err = nil
+ }
+
+ // Fallback to status code converted to message if still no error code
+ if len(errCode) == 0 {
+ statusText := http.StatusText(r.HTTPResponse.StatusCode)
+ errCode = strings.Replace(statusText, " ", "", -1)
+ errMsg = statusText
+ }
+
+ r.Error = requestFailure{
+ RequestFailure: awserr.NewRequestFailure(
+ awserr.New(errCode, errMsg, err),
+ r.HTTPResponse.StatusCode,
+ r.RequestID,
+ ),
+ hostID: hostID,
+ }
+}
+
+// A RequestFailure provides access to the S3 Request ID and Host ID values
+// returned from API operation errors. Getting the error as a string will
+// return the formated error with the same information as awserr.RequestFailure,
+// while also adding the HostID value from the response.
+type RequestFailure interface {
+ awserr.RequestFailure
+
+ // Host ID is the S3 Host ID needed for debug, and contacting support
+ HostID() string
+}
+
+type requestFailure struct {
+ awserr.RequestFailure
+
+ hostID string
+}
+
+func (r requestFailure) Error() string {
+ extra := fmt.Sprintf("status code: %d, request id: %s, host id: %s",
+ r.StatusCode(), r.RequestID(), r.hostID)
+ return awserr.SprintError(r.Code(), r.Message(), extra, r.OrigErr())
+}
+func (r requestFailure) String() string {
+ return r.Error()
+}
+func (r requestFailure) HostID() string {
+ return r.hostID
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
new file mode 100644
index 0000000000..2596c694b5
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
@@ -0,0 +1,214 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package s3
+
+import (
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+// WaitUntilBucketExists uses the Amazon S3 API operation
+// HeadBucket 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 *S3) WaitUntilBucketExists(input *HeadBucketInput) error {
+ return c.WaitUntilBucketExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBucketExistsWithContext is an extended version of WaitUntilBucketExists.
+// 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 *S3) WaitUntilBucketExistsWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBucketExists",
+ MaxAttempts: 20,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 200,
+ },
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 301,
+ },
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 403,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 404,
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadBucketInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadBucketRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilBucketNotExists uses the Amazon S3 API operation
+// HeadBucket 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 *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error {
+ return c.WaitUntilBucketNotExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBucketNotExistsWithContext is an extended version of WaitUntilBucketNotExists.
+// 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 *S3) WaitUntilBucketNotExistsWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBucketNotExists",
+ MaxAttempts: 20,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 404,
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadBucketInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadBucketRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilObjectExists uses the Amazon S3 API operation
+// HeadObject 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 *S3) WaitUntilObjectExists(input *HeadObjectInput) error {
+ return c.WaitUntilObjectExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilObjectExistsWithContext is an extended version of WaitUntilObjectExists.
+// 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 *S3) WaitUntilObjectExistsWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilObjectExists",
+ MaxAttempts: 20,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 200,
+ },
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 404,
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadObjectInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadObjectRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
+
+// WaitUntilObjectNotExists uses the Amazon S3 API operation
+// HeadObject 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 *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error {
+ return c.WaitUntilObjectNotExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilObjectNotExistsWithContext is an extended version of WaitUntilObjectNotExists.
+// 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 *S3) WaitUntilObjectNotExistsWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilObjectNotExists",
+ MaxAttempts: 20,
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
+ {
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
+ Expected: 404,
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadObjectInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadObjectRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+ w.ApplyOptions(opts...)
+
+ return w.WaitWithContext(ctx)
+}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go
deleted file mode 100644
index bc22e9732b..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_agpl.go
+++ /dev/null
@@ -1,683 +0,0 @@
-package cmd
-
-func initAgpl() {
- Licenses["agpl"] = License{
- Name: "GNU Affero General Public License",
- PossibleMatches: []string{"agpl", "affero gpl", "gnu agpl"},
- Header: `
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .`,
- Text: ` GNU AFFERO GENERAL PUBLIC LICENSE
- Version 3, 19 November 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU Affero General Public License is a free, copyleft license for
-software and other kinds of works, specifically designed to ensure
-cooperation with the community in the case of network server software.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-our General Public Licenses are intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- Developers that use our General Public Licenses protect your rights
-with two steps: (1) assert copyright on the software, and (2) offer
-you this License which gives you legal permission to copy, distribute
-and/or modify the software.
-
- A secondary benefit of defending all users' freedom is that
-improvements made in alternate versions of the program, if they
-receive widespread use, become available for other developers to
-incorporate. Many developers of free software are heartened and
-encouraged by the resulting cooperation. However, in the case of
-software used on network servers, this result may fail to come about.
-The GNU General Public License permits making a modified version and
-letting the public access it on a server without ever releasing its
-source code to the public.
-
- The GNU Affero General Public License is designed specifically to
-ensure that, in such cases, the modified source code becomes available
-to the community. It requires the operator of a network server to
-provide the source code of the modified version running there to the
-users of that server. Therefore, public use of a modified version, on
-a publicly accessible server, gives the public access to the source
-code of the modified version.
-
- An older license, called the Affero General Public License and
-published by Affero, was designed to accomplish similar goals. This is
-a different license, not a version of the Affero GPL, but Affero has
-released a new version of the Affero GPL which permits relicensing under
-this license.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU Affero General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Remote Network Interaction; Use with the GNU General Public License.
-
- Notwithstanding any other provision of this License, if you modify the
-Program, your modified version must prominently offer all users
-interacting with it remotely through a computer network (if your version
-supports such interaction) an opportunity to receive the Corresponding
-Source of your version by providing access to the Corresponding Source
-from a network server at no charge, through some standard or customary
-means of facilitating copying of software. This Corresponding Source
-shall include the Corresponding Source for any work covered by version 3
-of the GNU General Public License that is incorporated pursuant to the
-following paragraph.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the work with which it is combined will remain governed by version
-3 of the GNU General Public License.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU Affero General Public License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU Affero General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU Affero General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU Affero General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If your software can interact with users remotely through a computer
-network, you should also make sure that it provides a way for users to
-get its source. For example, if your program is a web application, its
-interface could display a "Source" link that leads users to an archive
-of the code. There are many ways you could offer source, and different
-solutions will be better for different programs; see section 13 for the
-specific requirements.
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU AGPL, see
-.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go
deleted file mode 100644
index 38393d5417..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_apache_2.go
+++ /dev/null
@@ -1,238 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initApache2() {
- Licenses["apache"] = License{
- Name: "Apache 2.0",
- PossibleMatches: []string{"apache", "apache20", "apache 2.0", "apache2.0", "apache-2.0"},
- Header: `
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.`,
- Text: `
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go
deleted file mode 100644
index 4a847e04a0..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_2.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initBsdClause2() {
- Licenses["freebsd"] = License{
- Name: "Simplified BSD License",
- PossibleMatches: []string{"freebsd", "simpbsd", "simple bsd", "2-clause bsd",
- "2 clause bsd", "simplified bsd license"},
- Header: `All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.`,
- Text: `{{ .copyright }}
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go
deleted file mode 100644
index c7476b31f5..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_bsd_clause_3.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initBsdClause3() {
- Licenses["bsd"] = License{
- Name: "NewBSD",
- PossibleMatches: []string{"bsd", "newbsd", "3 clause bsd", "3-clause bsd"},
- Header: `All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.`,
- Text: `{{ .copyright }}
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go
deleted file mode 100644
index 03e05b3a7e..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_2.go
+++ /dev/null
@@ -1,376 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initGpl2() {
- Licenses["gpl2"] = License{
- Name: "GNU General Public License 2.0",
- PossibleMatches: []string{"gpl2", "gnu gpl2", "gplv2"},
- Header: `
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this program. If not, see .`,
- Text: ` GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type 'show c' for details.
-
-The hypothetical commands 'show w' and 'show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than 'show w' and 'show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- 'Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go
deleted file mode 100644
index ce07679c77..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_gpl_3.go
+++ /dev/null
@@ -1,711 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initGpl3() {
- Licenses["gpl3"] = License{
- Name: "GNU General Public License 3.0",
- PossibleMatches: []string{"gpl3", "gplv3", "gpl", "gnu gpl3", "gnu gpl"},
- Header: `
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .`,
- Text: ` GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type 'show c' for details.
-
-The hypothetical commands 'show w' and 'show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go
deleted file mode 100644
index 0f8b96cad0..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_lgpl.go
+++ /dev/null
@@ -1,186 +0,0 @@
-package cmd
-
-func initLgpl() {
- Licenses["lgpl"] = License{
- Name: "GNU Lesser General Public License",
- PossibleMatches: []string{"lgpl", "lesser gpl", "gnu lgpl"},
- Header: `
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this program. If not, see .`,
- Text: ` GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go b/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go
deleted file mode 100644
index bd2d0c4fa8..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/license_mit.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-func initMit() {
- Licenses["mit"] = License{
- Name: "MIT License",
- PossibleMatches: []string{"mit"},
- Header: `
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.`,
- Text: `The MIT License (MIT)
-
-{{ .copyright }}
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-`,
- }
-}
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go b/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go
deleted file mode 100644
index a070134ddc..0000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/licenses.go
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright © 2015 Steve Francia .
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Parts inspired by https://github.com/ryanuber/go-license
-
-package cmd
-
-import (
- "strings"
- "time"
-
- "github.com/spf13/viper"
-)
-
-// Licenses contains all possible licenses a user can choose from.
-var Licenses = make(map[string]License)
-
-// License represents a software license agreement, containing the Name of
-// the license, its possible matches (on the command line as given to cobra),
-// the header to be used with each file on the file's creating, and the text
-// of the license
-type License struct {
- Name string // The type of license in use
- PossibleMatches []string // Similar names to guess
- Text string // License text data
- Header string // License header for source files
-}
-
-func init() {
- // Allows a user to not use a license.
- Licenses["none"] = License{"None", []string{"none", "false"}, "", ""}
-
- initApache2()
- initMit()
- initBsdClause3()
- initBsdClause2()
- initGpl2()
- initGpl3()
- initLgpl()
- initAgpl()
-}
-
-// getLicense returns license specified by user in flag or in config.
-// If user didn't specify the license, it returns Apache License 2.0.
-//
-// TODO: Inspect project for existing license
-func getLicense() License {
- // If explicitly flagged, use that.
- if userLicense != "" {
- return findLicense(userLicense)
- }
-
- // If user wants to have custom license, use that.
- if viper.IsSet("license.header") || viper.IsSet("license.text") {
- return License{Header: viper.GetString("license.header"),
- Text: viper.GetString("license.text")}
- }
-
- // If user wants to have built-in license, use that.
- if viper.IsSet("license") {
- return findLicense(viper.GetString("license"))
- }
-
- // If user didn't set any license, use Apache 2.0 by default.
- return Licenses["apache"]
-}
-
-func copyrightLine() string {
- author := viper.GetString("author")
-
- year := viper.GetString("year") // For tests.
- if year == "" {
- year = time.Now().Format("2006")
- }
-
- return "Copyright © " + year + " " + author
-}
-
-// findLicense looks for License object of built-in licenses.
-// If it didn't find license, then the app will be terminated and
-// error will be printed.
-func findLicense(name string) License {
- found := matchLicense(name)
- if found == "" {
- er("unknown license: " + name)
- }
- return Licenses[found]
-}
-
-// matchLicense compares the given a license name
-// to PossibleMatches of all built-in licenses.
-// It returns blank string, if name is blank string or it didn't find
-// then appropriate match to name.
-func matchLicense(name string) string {
- if name == "" {
- return ""
- }
-
- for key, lic := range Licenses {
- for _, match := range lic.PossibleMatches {
- if strings.EqualFold(name, match) {
- return key
- }
- }
- }
-
- return ""
-}